我是指WEB控件,不是HTML里的控件,如何定义一个双击事件?谢谢

解决方案 »

  1.   

    参考:
    http://www.csdn.net/expert/topic/943/943952.xml?temp=.4561273
    是 hgknight(江雨.net)写的代码,自己去看一看他的第二个例子,很有创意,相信会对你有帮助。
    另:考虑“版权”问题只是转载,回来后可别忘了给分哦:)
      

  2.   

    你要实现什么功能啊?
    如果只是需要双击事件的话。
    ondbclick()处理客户端脚本触发页面一个隐藏Button的Click事件
    可以模拟文本框的双击事件。
      

  3.   

    这个模拟说的是。
    表面上是双击文本框但实际执行的是Button的事件。。
    页面
    <asp:textbox id="txtCustomerId"></asp:textbox>
    <asp:button id="btnRefresh" runat="server" Text="HIDDEN" style="DISPLAY:none;POSITION:absolute;"></asp:button>代码
    btnSearch.Attributes.Add("onclick", "OpenSearch();");
    txtCustomerId.Attributes.Add("ondblclick", Page.GetPostBackEventReference(btnRefresh));
    private void btnRefresh_Click(object sender, System.EventArgs e)
     {
    ....
    }
      

  4.   

    功能是我自己做个文本框的控件,双击后弹出一个窗口,所以不能在HTML里写东西
      

  5.   

    假设有WebForm1.aspx和WebForm2.aspx两个文件
    在WebForm1.aspx的HTML中
    <form id="WebForm4" method="post" runat="server">在服务器端响应双击事件<br>
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox><br>
    <asp:Button id="Button1" runat="server" Text="Button"></asp:Button><br>
    <input type="hidden" name="Isdbclick" value="false">
    </form>
    <script language="vbscript">
    option explicit
    sub TextBox1_ondblclick()
    WebForm4.Isdbclick.value="TextBox1Dbclick"
    WebForm4.submit()
    end sub
    </script>在Page_Load事件中写
    If (Page.IsPostBack) Then
       Select Case Request.Form("isdbclick").ToString
            Case "TextBox1Dbclick"
                Page.RegisterStartupScript("openwindow", "<script language='vbscript'>window.open ""webform2.aspx"",null,""Top=200,left=300,width=300,height=200,toolbar=no,menubar=no,scrollbars=no""</script>")
                End Select
    End IfWebForm2.aspx的HTML中:
    <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
    <asp:Button id="Button1" Text="Button" Runat="server"></asp:Button>
    </form>
    在Button1_Click事件中:
    Dim ScriptString As String = "<script language='javascript'>var aa= window.opener.document.getElementById(""TextBox1"");"
         ScriptString += "var bb=document.getElementById(""TextBox1"");"
         ScriptString += "aa.value=bb.value;"
         ScriptString += "window.close();"
         ScriptString += "</script>"
         Page.RegisterStartupScript("return", ScriptString)
    这样就可以了。
    在webform1中双击TextBox1出现webform2窗口,在webform2窗口中的textbox1中输入值,按button1后关闭webform2,并将该值送入webform1中的textbox1。代码测试通过,直接COPY即可。
    希望能对你有帮助。
      

  6.   

    好你把
    ScriptString += "var bb=document.getElementById(""TextBox1"");"
    中的TextBox1改为你那个控件的ID,bb.value改为bb.textvalue。textvalue是指控件中textbox的value值。没试,你自己逐磨吧。有结果也告诉我一声。
      

  7.   

    我测了一个,你看看行不行。
    建一个用户控件WebUserControl1.ascx中有一文本框TextBox1;
    在WebUserControl1.ascx.vb中写一个属性
        Public Property Value() As Integer
            Get
                Return TextBox1.Text
            End Get
            Set(ByVal Value As Integer)
                TextBox1.Text = Value.ToString
            End Set
        End Property
    接下来将用户控件添加到webform1.aspx中去,假设用户控件在webform1.aspx中的ID为“WebUserControl11”。注意在webform1.aspx.vb中注册控件Protected WithEvents WebUserControl11 As WebUserControl1接下来将webform2.aspx.vb代码中的
    Dim ScriptString As String = "<script language='javascript'>var aa= window.opener.document.getElementById(""TextBox1"");"改为:Dim ScriptString As String = "<script language='javascript'>var aa= window.opener.document.getElementById(""WebUserControl11:TextBox1"");"
    注意:这个TextBox1与用户控件中的textbox1的ID要一致。
    测试通过,祝你成功。