VB.NET有关问题:有6个Button,焦点在Button1上,怎么通过按回车键响应Button5的事件
发布时间:2011-06-23 15:58:09 文章来源:www.iduyao.cn 采编人员:星星草
VB.NET问题:急!!有6个Button,焦点在Button1上,如何通过按回车键响应Button5的事件?
我遇到的情况是如果焦点在Button1上,我按回车只响应Button1的事件,无法响应Button5的Click事件,不知如何能使响应Button5的事件实现?请高手指教?望能提供详细代码,多谢!
------解决方案--------------------
我试了,成功了!!!
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Focus()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
MsgBox( "Hello! ")
End Sub
Private Sub Button1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyUp
If e.KeyCode = Keys.Enter Then
Button5.Focus()
Me.Button5_Click(sender, e)
End If
End Sub
------解决方案--------------------
这个又改进了一点,只是回车要第二次开始才有用,其它就完全正常了。如果把KeyUp事件换成KeyDown事件,好像也不行。和MsgBox没关系,呵呵,晕了。
Public Class Form1
Dim key As Boolean
Dim mouse As Boolean
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If key Then
Button5_Click(sender, e)
ElseIf mouse Then
'TextBox1.Text &= "Hello1 " '& vbCrLf
MsgBox( "Hello 1 ")
End If
key = False
mouse = False
End Sub
Private Sub Button1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyUp
key = True
mouse = False
End Sub
Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
mouse = True
key = False
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
'TextBox1.Text &= "Hello5 " '& vbCrLf
MsgBox( "Hello 5 ")
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
key = False
mouse = False
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
MsgBox( "Hello 2 ")
End Sub
End Class
------解决方案--------------------
楼主如果要像微软计算器那样的话,可以这样,如果你有textbox的话再建一个textbox把它藏在你要的那个textbox里面,运行时不可见,但他的visable属性要为true,点击button时把焦点全给这个textbox再自生成的窗体代码中加上这段代码就可以了;
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim key as string
key=e.keychar()
If key=Microsoft.VisioBasic.Chrw(13) Then
Button5.Focus()
Button5.PerformClick()
End If
以上代码就行了,但别忘了在Public Sub New()中加上
MyBase.KeyPreview = True
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
关于VB.net中的验证控件
小弟正在开发一个C/S结构程序,有几个界面有较多的textbox,是关于用户数据输入的,现在想做验证,听说有验证控...
-
多表查询问题
我有三个表,一个表为基本表,一个是代码表,一个是出差表
表一 编号,姓名 ,职别
001 李三 101
...
-
DATAGRIDVIEW无法删除未提交的新行?
再DATAGRIDVIEW录入时,想删除最后自动新增的一行,提示无法删除未提交的新行
Private Sub Dat...
-
迷茫了几天,求各位高手指教一下!下面是我的代码!
<!--#include file="webconfig.asp"-->
<%
Dim SortID
SortID=Trim(FLib.SafeSql(R...
-
vb.net 断开和连接网络连接 修改代码
在vb.net中实现断开和连接网络连接的代码,我在网上找了一段代码
Option Explicit On
'首...
-
DataGridView直接导出EXCEL
如何直接读取DataGridView中的数据,并导出成Excel可以直接读取的文件
记住,我不要通过DataTable。
希...
-
求教:如何在vb.net下做一些好看的界面,整一些好看的效果,改变控件,让控件变得好看点?
有没有点例子?有没有点直接可以做控件的软件?
---...
-
在VB中,对SQL数据库进行增删改语句怎么写呢?
小弟做课程设计,遇到了一点小麻烦,卡在了这里,不知道在VB中怎么写对SQL数据库的增删改...
-
文本框中的数字精确到小数点后两位
请问如何让文本框输入数字后精确到小数点后两位,如:当输入112时,显示为112.00
------解决方案--...
-
VB.NET2008如何利用SendMessage修改按钮的Text?
为了测试 Windows API ,试图点Button用SendMessage修改该按钮的Text,竟然没成功,请教...