在button1的Click事件处理方法中加上一句试试看
创新互联公司是一家专业提供定结企业网站建设,专注与成都网站设计、成都网站建设、HTML5、小程序制作等业务。10年已为定结众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
private void button1_Click(object sender, EventArgs e)
{
// 原来的代码不变……
// 最后加上这句
this.Focus();
}
另外,必须保让你窗口是当前活动窗口!
注意到所有的事件绑定的方法都有一个参数 sender 没?那个就是判断究竟是哪个控件被事件响应了的。
Dim item As MenuStripItem = CType(sender, MenuStripItem) ' 先把 sender 这个 Object 类型转换成 MenuStripItem(菜单项是这个类型吧?手打的,没开VS)
Select Case item.Name
Case "MenuStripItem1"
Case "MenuStripItem2"
...
End Select
用
t.Suspend() 这个是挂起线程。是一个异步方法。
t.Sleep 我看了是一个同步方法。要等这个方法运行完了才继续下一步。
这和from.show和 from.showdiaglog区别差不多!
至于疑问2我也没找到原因。
1.
窗体有一个属性
PressView(在
杂项
的倒数第二个)
;
2.
这个属性可以指示:是否从窗体接收键盘的输入
3.
将其设置为
TRUE
,窗体就可以接受键盘事件了
4.
然后通过委托
或者
调用子控件里面的函数过程
就可以实现键盘事件参数的传递,完成
你所需要的
功能了!
5.
望采纳~
以下是在多线程中显示进度条代码
'定义一个委托
Delegate Sub dl_ShowProgress(ByVal iValue As Integer)
Public Sub ShowProgress(ByVal iValue As Integer)
If ProgressBar1.IsDisposed Then
Return
End If
If ProgressBar1.InvokeRequired = True Then
Dim pInvoke As New dl_ShowProgress(AddressOf ShowProgress)
Me.Invoke(pInvoke, New Object() {iValue})
Else
ProgressBar1.Value = iValue
ProgressBar1.Refresh()
End If
End Sub
'在多线程中调用ShowProgress(*)函数