vb.net如何在listbox中增加双击事件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net如何在listbox中增加双击事件?相关的知识,希望对你有一定的参考价值。
我的网页中有两个listbox,想实现双击其中一个item,将其加到另一个listbox中,用vb如何来完成,我主要是不知道怎么能获得listbox的双击事件?
给举个简单例子好吗?在网上搜了很多关于listbox双击的问题,基本上都是C#的。我想要VB的。
你给我个简单的例子吧。javascript我不太会写。
.aspx文件中如何加javascript,.vb文件中如何调用?谢谢
补充:
晕,我还以为是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列表框的所有项复制到一个数组中,便于排序?谢谢解答