WinForm设置窗体默认控件焦点

winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法:

①设置tabindex

把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了。

Winform的Activated事件

在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点。

private void Form1_Activated(object sender, EventArgs e) 

    textBox1.Focus(); 

}

TextBox是可以获得焦点的. 有几个前提:

1. TextBox所属的窗体(Form)在可操作(Active)状态. 即用户选中了Form.
2. TextBox的Enable属性,Visiable属性为True.

刚开始时原以为在Form的Load事件中添加textBox1.Focus(),测试失败

private void Form1_Load(object sender, EventArgs e) 

    textBox1.Focus(); 

}

因为在窗体加载时调用Focus()函数时, TextBox还未能成功的被显示到界面上。所以导致了失败。

 

笔者测试:笔者之前一直都是在load事件里面指定控件焦点,一直效果不理想,没想到是因为load事件时控件没有被创建,所以无法设置输入焦点。

时间: 2024-10-12 16:47:40

WinForm设置窗体默认控件焦点的相关文章

求助!如何设置窗体相同控件的属性

问题描述 比如说我这个FROM里有N多TEXTBOX我想点一个按钮让他同时清空!有没有简易的方法! 解决方案 解决方案二:我是一个个赋值为空字符串解决方案三:那样太傻了!好像有简便的方式吧解决方案四:privatevoidbutton3_Click(objectsender,EventArgse){foreach(Controlcinthis.Controls){if(cisTextBox){c.Text="";}}}解决方案五:学习了!解决方案六:便利控件,然后判断是TextBox的

winform运用IrisSkin2皮肤控件引发的问题 之前设置的窗体属性都失效了 怎么解决?

问题描述 winform运用IrisSkin2皮肤控件引发的问题 之前设置的窗体属性都失效了 怎么解决? winform运用IrisSkin2皮肤控件引发的问题 之前设置的窗体属性都失效了 怎么解决?之前设置的 窗体 可拖动 用了皮肤控件后 能拖动了 怎么解决这些? 解决方案 安装的是原版的控件还是修改版的,版本和你的vs的版本是否兼容.你说的失效是什么意思?

winform-C# Winform 动态Add用户控件,比设置用户控件Visible的效率高还是低?

问题描述 C# Winform 动态Add用户控件,比设置用户控件Visible的效率高还是低? 如何题:C# Winform 动态Add用户控件,比设置用户控件Visible的效率高还是低? 解决方案 肯定相关代码要比设置是否可见复杂,但是动态添加相对灵活性要高,而不用有用没用的都摆在那 解决方案二: C#的Winform中使用用户控件C# WinForm中添加用户控件 解决方案三: 1.动态Add用户控件,是窗体加载后,重新绘制加载用户控件,有可能出现界面闪烁刷新效果: 2.设置用户控件Vi

C# Winform 动态Add用户控件,比设置用户控件Visible的效率高还是低?

问题描述 如何题:C#Winform动态Add用户控件,比设置用户控件Visible的效率高还是低?个人分析:1.动态Add用户控件,是窗体加载后,重新绘制加载用户控件,有可能出现界面闪烁刷新效果:2.设置用户控件Visible,是窗口加载时,所有用户控件自动绘制,不存在界面闪烁,但是第一次加载窗口有可能比较慢,主要看机器显卡配置不知,以上分析是否有误,请各位一起探讨一下... 解决方案 解决方案二:设置visible为false基本不消耗显卡解决方案三:引用1楼liaoyibiao1987的回

WinForm中关于控件焦点的问题

方法一: 在打开一个窗体时,我们往往需要设置焦点让光标出现在我们希望它出现的位置上. 这时我们可以在窗体的Activated事件中设置焦点 例如我们希望光标在打开窗体的时候出现在textBox1上,我们只需要在Activated事件中添加如下代码: this.textBox1.Focus(); 即可. Activated事件:当窗体被激活时发生的事件. this.Activated += (sender, e) => {  this.txtCustomerNo.Focus();//光标在文本框控

winform 多线程如何刷新控件,在线等.....

问题描述 在一个form中有listbox控件,在form启动后,自动执行多线程,在线程中不时刷新listbox控件.在常见的例子中,多线程是一个form类中函数,所以在多线程中可以看见listbox,之后进行委托即可,但是我现在要执行的多线程是另一个类中的函数(添加了新类mythread),在这个类中listbox不可见,无法委托,要是formn=newform();xxx+=newmydelegate(n.setlistbox);,不是刷新原来的listbox控件,是新建一个form(n),

WinForm中DataGridView折叠控件【超好看】_实用技巧

刚到一家新公司,领导下发任务要用cs系统做一个表格折叠显示,这真是把我难倒了,自己工作6年一直以来都是做BS的系统.这如果在BS里面那太简单了,JqGrid默认都自带,可是DataGridview不支持折叠啊.自己一点经验没有,怎么办呢?于是上网搜了相关视频,资料,开始学习起来.最后借鉴源码封了这么一个东西,发出来分享下,也能让自己加深印象. 首先不多说,上图.如果大家感谢还不错,请继续往下阅读: 大概的效果就是这样. 上代码. 1.首先重写DataGridview,代码如下: public c

关于如何操作其他窗体的控件或变量的方法!

变量|控件 关于如何操作其他窗体的控件或变量的方法!其实解决的方法有很多,在这里只做简单的总结.1.  定义全局变量其实这个方法比较简单也很好理解,我们只要在一个module里面定义了两个全局变量就可以了.例如:public frm1 as new form1()      Public frm2 as new form2()这样,我们无论在哪里想访问就很容易了.但是,这样做会耗费比较多的系统资源.一般来说不要使用全局变量.2.  使用shared 前缀使用了shared定义的字段(变量)或者属

WPF中嵌入WinForm中的webbrowser控件

原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能使用.决定还是使用WinForm中的webbrowser.要想在WPF中使用WinForm控件,查看MSDN,需经过以下步骤. 创建名为 HostingWfInWpf 的 WPF 应用程序项目. 在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 Wi