日期:2014-05-17  浏览次数:20794 次

用户控件无法获取焦点,都来讨论下吧~~~~~~~~~~~~~~~~~~~
新建一个用户控件,里面就是textbox
引用后无法给其焦点。。。。。

txtDictate.myTextBox.Focus();//失败
txtDictate.Focus();//失败
this.ActiveControl = txtDictate;//(貌似获得焦点:光标在txtDictate内)但不执行myTextBox_GotFocus事件
this.ActiveControl = txtDictate.myTextBox;//(貌似获得焦点:光标在txtDictate内)但不执行myTextBox_GotFocus事件


还有什么办法不????
经过测试,C#默认用户控件为:不可获取焦点的控件。。。。。

我了个去啊。。。。求解。。。

------解决方案--------------------
userControl1.Controls["textBox1"].Focus();
------解决方案--------------------
引用:
? 云计算能为企业数据中心带来哪...? 云计算能帮助实现绿色IT吗?? 云服务模式:SaaS、PaaS和IaaS...? 能给出一个BI和私有云相关的案...? 实施云计算的挑战?
新建一个用户控件,里面就是textbox
引用后无法给其焦点。。。。。

C# code

txtDictate.myTextBox.Focus();//失败
txtDictate.Focus();//……
应该么啥问题啊
你执行的顺序换换

txtDictate.Focus();//失败
txtDictate.myTextBox.Focus();//失败
this.ActiveControl = txtDictate;//(貌似获得焦点:光标在txtDictate内)但不执行myTextBox_GotFocus事件
this.ActiveControl = txtDictate.myTextBox
如果还是不行 直接在txtDictate.Focus()的这个方法上下功夫吧 重写下 在这里就把焦点给textbox
------解决方案--------------------
引用:
引用:
userControl1.Controls["textBox1"].Focus();


不好意思,上面漏写了。。。这个也不行,我试过了。

我测试过行的,为什么楼主会不行?而且确实引发了Enter事件。
------解决方案--------------------
调用 myTextBox 的 Focus()方法
------解决方案--------------------
在控件里面写个方法
------解决方案--------------------
不是吧,肯定还是在哪里有设置,否则的话Focus()可以设置焦点的
看看这几个可疑设置:
AcceptsTab
TabStop
TabIndex
Cursor
UseWaitCursor
或者在程序里屏蔽了?