首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >textbox.Focus()在C#中不起作用

textbox.Focus()在C#中不起作用
EN

Stack Overflow用户
提问于 2011-01-04 21:37:26
回答 4查看 54.6K关注 0票数 48

我想知道为什么这段代码不能聚焦文本框...?

代码语言:javascript
复制
private void sendEmail_btn_Click(object sender, EventArgs e)
{    
    String sendTo = recipientEmail_tbx.Text.Trim();
    if (!IsValidEmailAddress(sendTo))
    {
        MessageBox.Show("Please Enter valid Email address","Cognex" MessageBoxButtons.OK, MessageBoxIcon.Error);                
        recipientEmail_tbx.Focus();
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-04 21:39:38

请改用Select()

代码语言:javascript
复制
recipientEmail_tbx.Select();

Focus是一种低级方法,主要用于自定义控件作者。相反,应用程序程序员应该对子控件使用选择方法或ActiveControl属性,或者对窗体使用Activate方法。

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus.aspx

票数 117
EN

Stack Overflow用户

发布于 2017-11-18 18:18:42

添加延迟一些miliSec。延迟,然后调用Focus(),并且不要忘记放在Dispatcher内部。

代码语言:javascript
复制
Task.Delay(100).ContinueWith(_ =>
     {
         Application.Current.Dispatcher.Invoke(new Action(() =>
         {
             TextBoxNAme.Focus();
         }));
     });
票数 10
EN

Stack Overflow用户

发布于 2014-07-30 18:27:40

即使我尝试了很多上面的解决方案,但没有一个对我有效,因为我试图专注于页面加载。最后,我得到了这个解决方案,它起作用了。

代码语言:javascript
复制
private void txtBox_LayoutUpdated(object sender, EventArgs e)
{
    txtBox.Focus();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4594194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档