用户控件无法获取焦点,都来讨论下吧~~~~~~~~~~~~~~~~~~~
新建一个用户控件,里面就是textbox
引用后无法给其焦点。。。。。
txtDictate.myTextBox.Focus();//失败
txtDictate.Focus();//失败
this.ActiveControl = txtDictate;//(貌似获得焦点:光标在txtDictate内)但不执行myTextBox_GotFocus事件
this.ActiveControl = txtDictate.myTextBox;//(貌似获得焦点:光标在txtDictate内)但不执行myTextBox_GotFocus事件
还有什么办法不????
经过测试,C#默认用户控件为:不可获取焦点的控件。。。。。
我了个去啊。。。。求解。。。
------解决方案--------------------userControl1.Controls["textBox1"].Focus();
------解决方案--------------------应该么啥问题啊
你执行的顺序换换
txtDictate.Focus();//失败
txtDictate.myTextBox.Focus();//失败
this.ActiveControl = txtDictate;//(貌似获得焦点:光标在txtDictate内)但不执行myTextBox_GotFocus事件
this.ActiveControl = txtDictate.myTextBox
如果还是不行 直接在txtDictate.Focus()的这个方法上下功夫吧 重写下 在这里就把焦点给textbox
------解决方案--------------------
我测试过行的,为什么楼主会不行?而且确实引发了Enter事件。
------解决方案--------------------调用 myTextBox 的 Focus()方法
------解决方案--------------------在控件里面写个方法
------解决方案--------------------不是吧,肯定还是在哪里有设置,否则的话Focus()可以设置焦点的
看看这几个可疑设置:
AcceptsTab
TabStop
TabIndex
Cursor
UseWaitCursor
或者在程序里屏蔽了?