精华内容
下载资源
问答
  • VB 模拟鼠标单击事件

    2009-11-15 21:58:56
    在Visual Basic重用API函数模拟鼠标单击事件
  • 我想请教一个关于VB程序按钮的单击事件问题,详细信息如下: 程序功能界面有一个"查询按钮",它可以通过查询条件从数据库找出一个结果集,并显示到窗口Grid界面. 当单击"查询按钮"时将结果集显示到Gride里面,如果...
  • vb.net 中调用按钮单击事件

    千次阅读 2011-06-24 08:51:00
    1.Button1.PerformClick() 2.button1_click(sender,e) 3.button1_click(nothing,nothing) 4.button1_click(sender,nothing)

    1.Button1.PerformClick()
    2.button1_click(sender,e)
    3.button1_click(nothing,nothing)
    4.button1_click(sender,nothing)

    展开全文
  • VB.net MenuStrip控件通过数据库生成多级动态菜单并添加单击事件 个人小白,一个多月前想通过 MenuStrip控件调用数据库数据生成多级联动下拉菜单,结果网上的资料都只是部分代码可用。经过一个月的东拼西凑终于能...

    VB.net MenuStrip控件通过数据库生成多级动态菜单并添加单击事件

    个人小白,一个多月前想通过 MenuStrip控件调用数据库数据生成多级联动下拉菜单,结果网上的资料都只是部分代码可用。经过一个月的东拼西凑终于能实现功能了。。。欢迎各位大神指正不足之处

    思路很重要

    MenuStrip控件制作多级联动下拉菜单需要分一级目录、二级目录。。。以二级目录为例。一级目录的一行值包括一组二级目录。也就是说每读取完一行一级目录,需要将相关联的二级目录全部提取出来。一级目录为大循环,二级目录为小循环。

    数据库调用连接

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim G As String = Application.StartupPath & "\XXXX .xlsx" ’数据库路径+数据源,我用的Excel表格做的
        Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + G + "';Extended Properties='Excel 12.0;HDR=Yes;IMEX=2;'")
        Dim cmd As OleDbCommand = New OleDbCommand
        cmd.CommandText = "Select First From [Sheet1$]"
        ReadData(conn, cmd)
    End Sub
    

    数据调用至MenuStrip控件并注册单击事件

        Private Sub ReadData(ByVal conn As OleDbConnection, ByVal cmd As OleDbCommand)
        cmd.Connection = conn
        conn.Open()
        Dim rdr As OleDbDataReader = cmd.ExecuteReader
        Dim One As New ToolStripMenuItem
        One.Name = "▼"
        One.Text = "▼"
        MenuStrip1.Items.Add(One)
        One.Visible = True
        Do While rdr.Read = True
            Dim First As New ToolStripMenuItem
            First.Name = Trim(rdr("First").ToString)
            If First.Name = "" Then
                Exit Do
            End If
            First.Text = Trim(rdr("First").ToString)
            One.DropDownItems.Add(First)
            One.DropDownItems.Add(First)
            Dim cmd2 As OleDbCommand = New OleDbCommand
            cmd2.Connection = conn
            cmd2.CommandText = "Select Second From [Sheet2$] where Transition='" + First.Text + "'"
            Dim rdr2 As OleDbDataReader = cmd2.ExecuteReader
            Do While rdr2.Read = True
                Dim Second As New ToolStripMenuItem
                Second.Name = Trim(rdr2("Second").ToString)
                If Second.Name = "" Then
                    Exit Do
                End If
                Second.Text = Trim(rdr2("Second").ToString)
                First.DropDownItems.Add(Second)
                First.DropDownItems.Add(Second)
                AddHandler Second.Click, AddressOf Me.SecondClick ‘这个至关重要,注册单击事件,没这个只能看不能用
            Loop
        Loop
        conn.Close()
    End Sub
    
    Private Sub SecondClick(sender As Object, e As EventArgs)
        ToolStripTextBox1.Text = sender.Name’单击时发生的事件
    End Sub
    

    不会添加附件凑合着看吧

    一级目录

    一级目录

    二级目录

    二级目录

    展开全文
  • vbvb.net事件机制

    千次阅读 2013-06-25 12:35:17
    学习java事件前,回顾了下vb6和vb.net的事件机制,总结在这里,供对比用。  事件是面对对象中对象间通信的方法。...用户单击按钮后,按钮(事件源)发出了单击事件,产生了自己被单击的消息给窗体,窗体(事

    学习java事件前,回顾了下vb6和vb.net的事件机制,总结在这里,供对比用。

        事件是面对对象中对象间通信的方法。事件发生者(又叫事件源)发生一个事件时,通过发送一条消息,给事件接受者(事件处理者),事件接受者可以做出响应的处理。比如在某登录界面中,单击一个按钮,系统会验证用户的用户名和密码是否正确。用户单击按钮后,按钮(事件源)发出了单击事件,产生了自己被单击的消息给窗体,窗体(事件接受者)在自身代码窗口中进行响应的处理。

     

    我们分别看下在vbvb.net中是怎么实现事件机制的。

        在vb6中,使用Event关键字定义事件,raiseEvent发出事件消息,在接受者的类中使用WithEvent表明自己是某个类的事件的接受者,我们看这样两段代码:

        首先建立一个窗体,是一个登录窗体,输入用户名和密码后,点击登陆按钮可以登陆,代码(vb6)如下,使用了WithEvent来接收验证类(verifyClass)的消息:

    Option Explicit
    
    '本句代码表明该窗体能接受验证类的事件消息
    Private WithEvents vfClass As VerifyClass
    
    Private Sub cmdLogin_Click()
        '定义用户名和密码
        Dim userName As String
        Dim password As String
        '定义返回结果
        Dim Result As Boolean
        Set vfClass = New VerifyClass
        
        userName = txtUserName.Text
        password = txtPassword.Text
        
        '将用户名和密码传到验证类进行验证
        Result = vfClass.Verify(userName, password)
        
    End Sub
    
    Private Sub Form_Load()
    
    End Sub
    
    '引发验证失败事件后,在此处可以进行相应处理
    Private Sub vfClass_loginFail(ByVal userName As String)
        MsgBox (userName + "登录失败")
    End Sub
    '验证成功事件
    Private Sub vfClass_LoginSuccess(ByVal userName As String)
         MsgBox (userName + "登录成功")
    End Sub
    
    接下来添加一个类模块,是登陆窗体中用到的验证类(verifyClass)的代码,里面定义(Event)了并引发(raiseEvent)了事件:

    Option Explicit
    
    '定义验证成功和失败的事件
    Public Event LoginSuccess(ByVal userName As String)
    Public Event loginFail(ByVal userName As String)
    
    '验证方法:对用户名和密码进行验证
    Public Function Verify(ByVal userName As String, ByVal password As String) As Boolean
        Dim blnResult As Boolean
        
        If userName = "123" And password = "123" Then
            '如果正确,发出登陆成功的消息
            RaiseEvent LoginSuccess(userName)
            blnResult = True
        Else
            '错误则发出登陆失败的消息
            RaiseEvent loginFail(userName)
             blnResult = False
        End If
        Verify = blnResult
        
    End Function
    


    vb.net中事件的实现机制同vb基本相同,并且有了优化,通过Handles关键字,使事件实现的机制更灵活,handles可以使多个事件到同一个事件处理程序:

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button3.Click
            System.Windows.Forms.MessageBox.Show("我被触发了")
    End Sub

    也可以通过AddHandler动态的绑定事件处理程序,即可以根据当时的条件选择将要绑定的事件处理程序,看下面这个例子。

    首先定义一个person类,有走路这个事件,在走路方法中触发走路事件

    Public Class Person
    
        Public Event walked(ByVal Distance As Integer)
    
        Public Sub walk(ByVal Distance As Integer)
            RaiseEvent walked(Distance)
        End Sub
    
    End Class
    


    接下来新建一个窗体类,窗体上有一个文本框和一个按钮,代码如下

    Public Class Form1
        '本句代码表明该窗体能接受验证类的事件消息
        Public WithEvents objPerson As Person
    
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
            objPerson = New Person()
            '满足条件下才执行绑定操作
            If (TextBox1.Text = "1") Then
                '满足条件,执行动态绑定,将事件绑定到某方法,该方法转变成事件处理程序
                AddHandler objPerson.walked, AddressOf Person_walk
                objPerson.walk(50)
            Else
                System.Windows.Forms.MessageBox.Show("您输入的文本不是1")
            End If
    
        End Sub
        '触发的事件将绑定到本事件处理程序
        Public Sub Person_walk(ByVal Distance As Integer)
            System.Windows.Forms.MessageBox.Show("a person walked" + Distance.ToString() + " kilometer!")
        End Sub
    
    End Class

    这就是vb和vb.net的事件处理机制,等学了java事件机制后将进行对比。



    展开全文
  • VB.net 动态添加菜单响应单击事件

    千次阅读 2007-06-13 23:10:00
    以前 VB 6.0 我要调一堆 API 感觉好过瘾 呵呵 现在找不到这种感觉了 哈!记得vb 6 的 时候生气用Win32写了个Clock 掉了上百个 API 连VB 6 的窗体都没用, 那个叫过瘾 一切都在控制中的感觉真好。看来我还是适合用 ...

    以前 VB 6.0 我要调一堆 API 感觉好过瘾 呵呵 现在找不到这种感觉了 哈!记得vb 6 的 时候生气用Win32写了个Clock  掉了上百个 API 连VB 6 的窗体都没用, 那个叫过瘾 一切都在控制中的感觉真好。看来我还是适合用 MASM Win32 的。哈哈 废话 到此结束。动态添加菜单在 .net 中很容易的。

    首先建立一个XML 文件用来存储 菜单信息 (本例使用 DataHelper.xml)
     
    <?xml version="1.0" encoding="utf-8" ?>
    <DataHelper>
      <Menu>
        <IsSeparator>0</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>1</MenuID>
        <ParentID>0</ParentID> 
        <Text>基本数据库(&amp;B)...</Text>
        <Image></Image>
        <ToolTipText></ToolTipText>
        <Visible>True</Visible>
        <Name>DataConvert</Name>
        <ShortcutKeys></ShortcutKeys>
      </Menu>
      <Menu>
        <IsSeparator>1</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>2</MenuID>
        <ParentID>0</ParentID>
      </Menu>

      <Menu>
        <IsSeparator>0</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>2</MenuID>
        <ParentID>0</ParentID>
        <Text>计生系统(&amp;J)...</Text>
        <Image></Image>
        <ToolTipText></ToolTipText>
        <Visible></Visible>
        <Name>DataConvert</Name>
        <ShortcutKeys>131140</ShortcutKeys>
      </Menu>

      <Menu>
        <IsSeparator>1</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>2</MenuID>
        <ParentID>0</ParentID>
      </Menu>

      <Menu>
        <IsSeparator>0</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>3</MenuID>
        <ParentID>0</ParentID>
        <Text>党员系统(&amp;D)...</Text>
        <Image></Image>
        <ToolTipText></ToolTipText>
        <Visible></Visible>
        <Name>DataConvert</Name>
        <ShortcutKeys></ShortcutKeys>
      </Menu>

      <Menu>
        <IsSeparator>1</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>2</MenuID>
        <ParentID>0</ParentID>
      </Menu>

      <Menu>
        <IsSeparator>0</IsSeparator>
        <IsTopMenu>0</IsTopMenu>
        <TopMenuItemIndex>2</TopMenuItemIndex>
        <SubMenuItemIndex></SubMenuItemIndex>
        <MenuID>4</MenuID>
        <ParentID>0</ParentID>
        <Text>民政系统(&amp;M)...</Text>
        <Image></Image>
        <ToolTipText></ToolTipText>
        <Visible></Visible>
        <Name>DataConvert</Name>
        <ShortcutKeys></ShortcutKeys>
      </Menu>
    </DataHelper>

    好了第一步开始,读取XML文件 我们使用 DataSet 来干这活,不过我是在 DataHerlper.Common 工程来干这事的。哇 分层阿!
    这个是个结构 我用的 看取那个Table

     

    Imports System.Drawing
    Imports System.Windows.Forms

    Namespace DataHelper.Common

        
    Public Enum DataHelperConfigTableName
            DropDownMenu 
    = 0
            Plugins 
    = 1
        
    End Enum


    End Namespace


    Imports System.Data
    Imports DataHelper.Common.Caching
    Imports System.Windows.Forms

    Namespace DataHelper.Common
        
    Public Class SharedClass

            
    Public Shared Function GetDataHelperConfig(Optional ByVal TableName As DataHelperConfigTableName = DataHelperConfigTableName.DropDownMenu) As DataTable
                
    Dim strDataHelperConfigFile As String
                
    Dim ds As New DataSet
                
    Dim dt As New DataTable

                strDataHelperConfigFile 
    = Application.StartupPath & "ConfigDataHelper.xml" 'Application.StartupPath

                ds 
    = DataCache.GetCache("DataHelperConfig")
                
    If ds Is Nothing Then
                    
    Dim xmlReader As XmlTextReader = New XmlTextReader(strDataHelperConfigFile)
                    ds 
    = New DataSet
                    ds.ReadXml(xmlReader)
                    dt 
    = ds.Tables(TableName)
                    DataCache.Insert(
    "DataHelperConfig", ds, DataCache.CreateFileCacheDependency(strDataHelperConfigFile))
                
    Else
                    dt 
    = ds.Tables(TableName)
                
    End If
                
    Return dt
            
    End Function


        
    End Class

    End Namespace


    我们得到菜单信息了接下来就要动态添加菜单了 这又是一个工程(DataHelper.UserInterface) 分层吗
    '**********************************************************************************************************
    '
     Programmer By Shadow (QQ:33512603)
    '
     User Interface MainMenu  Class
    '
     The MainMenu class create menu for localappliction 
    '
     Corpright(C) 2006 Jiang Jian
    '
    **********************************************************************************************************
    '
     程序设计:江建
    '
    **********************************************************************************************************

    Imports System.IO
    Imports System.Windows.Forms
    Imports DataHelper.Common
    Imports DataHelper.PluginsInterface

    Namespace DataHelper.UserInterface
        
    Public Class MainMenu
            
    Private MenuClick As New MainMenuClick

    Public Methods

    Private Methods

        
    End Class

    End Namespace



    '**********************************************************************************************************
    '
     Programmer By Shadow (QQ:33512603)
    '
     User Interface MainMenuClick  Class
    '
     The MainMenuClick class response menu click event
    '
     Corpright(C) 2006 Jiang Jian
    '
    **********************************************************************************************************
    '
     程序设计:江建
    '
    **********************************************************************************************************

    Imports System.Diagnostics
    Imports System.Windows.Forms


    Namespace DataHelper.UserInterface

        
    Public Class MainMenuClick
            
    Private Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As IntegerByVal hWndNewParent As IntegerAs Integer
            
    Private Declare Function SetWindowPos Lib "user32" (ByRef hwnd As IntegerByRef hWndInsertAfter As IntegerByVal x As IntegerByVal y As IntegerByVal cx As Integer

    ByVal cy As IntegerByVal wFlags As IntegerAs Integer

            
    Private Const SWP_NOSIZE = &H1
            
    Private Const SWP_NOMOVE = &H2

            
    Private DataConvert As New Process

    Public Methods

    Overrides Methods


        
    End Class

    End Namespace


    最后是测试 哈哈 终于完了 在你的主窗体下 加入一个 MenuScript 控件 名称为 MainMenu 这次测试未添加 顶级菜单 如果要添加顶级菜单 请修改XML文件 IsTopMenu 为1

      Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            
    Dim test As New MainMenu
            test.CreateMenu(
    Me.MainMenu)
      
    End Sub

     

     

    展开全文
  • vb.net 当光标在文本框中,可以动弹出Windows系统自带的虚拟键盘,怎么实现(请加好解释备注,方便看的懂,谢谢)
  • 其用户交互中最为重要的方式是鼠标,此前我们介绍过鼠标的单击事件。那么本节课程我们一起来详细的学习鼠标的各种事件。鼠标常用事件包括:Click、DblClick、MouseMove、MouseDown、MouseUp。01—鼠标事件的含义鼠标...
  • [VB.NET]单击按钮右键事件

    千次阅读 2008-12-28 15:36:00
    单击按钮右键事件1.是哪个呢? 2.怎么知道点的是左键还是右键呢?__________________________________________________________________________Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As ...
  • VB窗体事件简介

    2012-02-27 16:16:32
    1. Load(装载)事件 2. Unload(卸载)事件 3. Activate(活动)、Deactivate(非活动)事件 4. Paint(绘画)事件 ...5. Click(单击事件 6. Dbclick(双击)事件 7. KeyPress(按键)事件
  • 其用户交互中最为重要的方式是鼠标,此前我们介绍过鼠标的单击事件。那么本节课程我们一起来详细的学习鼠标的各种事件。 鼠标常用事件包括: Click、DblClick、MouseMove、MouseDown、MouseUp。 01 — 鼠标事件的...
  • VB事件大全

    2014-10-29 21:53:02
    Change 事件示例 本例在 TextBox 控件中显示水平滚动条的 Value 属性的数值。要尝试这个例子,需创建一个带有 TextBox 控件及 HScrollBar 控件的窗体,然后将码粘贴到一个带有水平滚动条 (HScrollBar 控件) 和 ...
  • 在2003版本之前的Excel里使用过VBA的话,应该接触过在Excel里添加自定义菜单,使用方法和前面说的在VBE里添加菜单是类似...Application.VBE.Events.CommandBarEvents(btn)End Sub 运行后再点击按钮,能够响应单击事件
  • VB对象的事件和方法

    2020-09-15 12:44:45
    例如,用户点击一次按钮,就会触发一次该按钮的单击事件,即Command1_Click事件。 一个事件,就好比一个动作,用户单击按钮是一个事件,双击按钮也是一个事件,按下一个键盘的按键是一个事件,关闭某个窗口也是一个...
  • 我现在有几个动态添加的button控件,我想将这些控件的单击事件指向另外一个我自己写的方法,并且需要传参数进去,请问我怎么将这个单击事件指向我写的这个方法呢?急用,在线等!求大神指教!
  • 对象的事件:事件是指对象对于外部动作的响应,当对象发生了某个事件,就会执行相应的代码,这段...例如,用户点击一次按钮,就会触发一次该按钮的单击事件,即Command1_Click事件。一个事件,就好比一个动作,用户...
  • VB模拟鼠标左键单击和移动,单击按钮后,鼠标会移动到正中间,产生向上或向下滚动鼠标滚轮事件,如果鼠标在其他应用程序窗口之上,获取鼠标下窗口中的鼠标句柄,并且代码中有一个键盘函数很实用哦。
  • 说实话,刚刚从Delphi改成VB.net,delphi...查了很多资料,竟然查不到TreeView1节点的应用,全是什么增加、遍历什么的,自己测试了很久,其实应该是TreeView1_NodeMouseClick事件才是node中正确的鼠标点击事件vb .ne
  • 本程序是用VB写的一个自动生成控件并能补捉到其单击事件的一个程序。
  • 编程必然要知道事件,比如单击按钮事件,然后编写当事件发生时的处理代码,VB.NET是怎样进行事件处理的呢?可否自定义事件呢?因扩展控件,使其列头增加全选全不选复选框并具备分页功能需要用到自定义事件,详见博文...
  • 技术盘点之VB6事件机制

    千次阅读 2006-02-22 13:48:00
    第一种场景:主表单调出客户列表表单选择一个客户 流程:用户单击主表单相应控件调出客户列表表单,选择一个客户,被选中的客户数据返回给主表单。代码解释:a. 主表单mainform声明一个私有的客户列表表单...
  • 添加文本框: ``` Private Sub plus_Click() Dim qianglei, zuofa, zuofa_s, cailiao, ...我想通过这个单击事件添加几个文本框和一个按钮,然后单击按钮后选取其中文本框的内容进行运算并输出结果。 求指教
  • vb Form的基本事件

    千次阅读 2018-06-30 11:19:10
    Private Sub Form_Activate() 当此窗体变为活动窗口时...单击时触发 End Sub Private Sub Form_DblClick() 双击时触发 End Sub Private Sub Form_Deactivate() 当此窗体不再是活动窗口时触发 End Sub Private Sub For
  • vb.net中编写的用户控件中,有时需要把用户控件内子控件的某个事件暴露给用户使用,使用户能够自已定义子控件的事件... Public Event myClick As System.EventHandler 鼠标单击事件 写它的一个保护方法 Protected
  • VB模拟一次鼠标事件

    千次阅读 2007-07-28 08:51:00
    使用API函数mouse_event可以模拟一次鼠标事件,比如左键单击、双击和右键单击等。这个实例利用此函数产生了十分有趣的效果,无论鼠标处于屏幕的任何位置,每隔一秒程序会使鼠标在那个位置单击或双击一次,这会给我们...
  • 1) MSHFLEXGRID的重要属性.MSHFLEXGRID...下面列出常用的属性,方法事件及其简要说明.以便查阅.属性 类型 说明AllowBigSelector Boolean 返回/设置一个值,定义当在行或列的头部单击时,是否该行或列将整个被选中Allow...
  • VB6.0 IDE添加鼠标滑轮事件

    千次阅读 2011-11-02 14:14:25
    下载包含加载项 DLL 和用于创建外接程序 DLL 的代码的 VB6 鼠标 Wheel.exe 文件。 下载 VB6 鼠标 Wheel.exe 文件。以下文件是可从 Microsoft 下载...有关如何下载 Microsoft 的支持文件的详细信息单击下面的文章编号
  • selenium给我们提供了一个类来处理这类事件——ActionChains。ActionChains可以对需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等进行操作。使用鼠标事件之前需要要导入ActionChains类,...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 212
精华内容 84
关键字:

vb单击事件