原因
实现原因:当画面上有多个TextBox的时候,需要按一个按钮,呈现出不同的检索画面的时候,正常情况下,可以通过TextBox的gotFoucs事件,设置一个全局变量来判断变量值,从而做出分歧判断。可以通过简单的方法来实现。
解决方法
Button.SetStyle(ControlStyles.Selectable, False)
原理
在光标落入TextBox的时候,ActiveControl是当前的TextBox,当点击正常按钮的时候,因为光标发生变化,所以ActiveControl也变化了。
当给按钮追加一层封装的时候,按钮变成不可以选择,ActiveControl获取的控件还是当前TextBox,所以就可以正常根据ActiveControl来判断,启动的检索画面。
按钮代码如下
Public Class NoSelectButton
Inherits System.Windows.Forms.Button
Public Sub New()
SetStyle(ControlStyles.Selectable, False)
End Sub
End Class