vb.net如何在listbox中增加双击事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net如何在listbox中增加双击事件?相关的知识,希望对你有一定的参考价值。

我的网页中有两个listbox,想实现双击其中一个item,将其加到另一个listbox中,用vb如何来完成,我主要是不知道怎么能获得listbox的双击事件?
给举个简单例子好吗?在网上搜了很多关于listbox双击的问题,基本上都是C#的。我想要VB的。
你给我个简单的例子吧。javascript我不太会写。
.aspx文件中如何加javascript,.vb文件中如何调用?谢谢

参考技术A 给ListBox添加DoubleClick事件,然后通过ListBox的SelectedItem就知道用户双击了哪一个Item
补充:
晕,我还以为是WinForm呢。楼主你说清楚是ASP.NET啊!
给你个思路,给listbox(也就是html的<select>)添加一个ondoubleclick属性,调用JavaScript代码,设法标记双击的对象并通知页面提交。如果有困难我再给你写代码
===================
补充:例子做好喽
Default.aspx
***********
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>演示</title>
<script type="text/javascript">
function Move()
var myForm = document.getElementById("<% = Me.form1.ClientId %>");
var iptHidden = document.getElementById("<% = Me.iptHidden.ClientId %>");
var listbox1 = document.getElementById("<% = Me.ListBox1.ClientId %>");
iptHidden.value = listbox1.selectedIndex;
myForm.submit();

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ListBox ID="ListBox1" ondblclick="javascript:Move();" runat="server" Height="238px"
Width="338px">
</asp:ListBox>
<asp:ListBox ID="ListBox2" runat="server" Height="235px" Style="margin-top: 0px"
Width="339px"></asp:ListBox>
<input type="hidden" id="iptHidden" runat="server" />
</div>
</form>
</body>
</html>
**********
Default.aspx.vb
**********
Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Me.ListBox1.Items.Add("选项1")
Me.ListBox1.Items.Add("选项2")
Me.ListBox1.Items.Add("选项3")
Me.ListBox1.Items.Add("选项4")
Me.ListBox1.Items.Add("选项5")
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Me.IsPostBack Then
Dim indexToMove = CInt(Request.Form("iptHidden"))
If indexToMove >= 0 Then
Dim itemToMove = Me.ListBox1.Items(indexToMove)
itemToMove.Selected = False
Me.ListBox1.Items.Remove(itemToMove)
Me.ListBox2.Items.Add(itemToMove)
End If
End If
End Sub

End Class
**********
Default.aspx.designer.vb
**********
'------------------------------------------------------------------------------
' <自动生成>
' 此代码由工具生成。
'
' 对此文件的更改可能会导致不正确的行为,并且如果
' 重新生成代码,这些更改将会丢失。
' </自动生成>
'------------------------------------------------------------------------------

Option Strict On
Option Explicit On

Partial Public Class _Default

'''<summary>
'''form1 控件。
'''</summary>
'''<remarks>
'''自动生成的字段。
'''若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
'''</remarks>
Protected WithEvents form1 As Global.System.Web.UI.HtmlControls.HtmlForm

'''<summary>
'''ListBox1 控件。
'''</summary>
'''<remarks>
'''自动生成的字段。
'''若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
'''</remarks>
Protected WithEvents ListBox1 As Global.System.Web.UI.WebControls.ListBox

'''<summary>
'''ListBox2 控件。
'''</summary>
'''<remarks>
'''自动生成的字段。
'''若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
'''</remarks>
Protected WithEvents ListBox2 As Global.System.Web.UI.WebControls.ListBox

'''<summary>
'''iptHidden 控件。
'''</summary>
'''<remarks>
'''自动生成的字段。
'''若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
'''</remarks>
Protected WithEvents iptHidden As Global.System.Web.UI.HtmlControls.HtmlInputHidden
End Class

**********本回答被提问者采纳
参考技术B cvbcvbc

参考资料:cvbcb

winform listbox增加鼠标双击事件

在Form.Designer.cs文件中对于listBox处理:

  listBox.MouseDoubleClick += new system。Windows.Forms.MouseEventHandler(listBox1_MouseDoubleClick);

 

在Form.cs代码文件中增加函数:

  private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)

  {

    int index = listBox1.IndexFromPoint(e.Location);

    if(index != ListBox.NoMatches)

    {

      MessageBox.Show("这里是双击事件处理代码");

    }

    else

    {

      listBox1.SelectIndex = -1;

      MessageBox.Show("没有选中Item");

    }

  }

完成!

以上是关于vb.net如何在listbox中增加双击事件?的主要内容,如果未能解决你的问题,请参考以下文章

在windows mobile6.0开发中 如何给 listbox的items添加双击事件

在VB.net中,如何把listbox中的数值进行排序

asp.Net listBox双击事件如何实现?

VB.NET 如何将ListBox列表框的所有项复制到一个数组中,便于排序?谢谢解答

VB 中如何点一下按钮,让listbox中选中的某一列复制到另外的listbox中,不是vb.net

vb.net中,如何实现鼠标在listbox控件上移动时,鼠标所到的条目背景变黑、字变白;移开后还原?