在C#中新建一个窗体应用程序。如图,从工具箱向窗体(Form1)中依次拖入button1、button2、button3、button4。
运行后,Form1的焦点会自动落在button1上。按Tab键,焦点会落在button2上。再按Tab键,焦点会落在button3上。再按Tab键,焦点会落在button4上。
为什么是这样呢?我们来看看这4个button的TabIndex属性,分别是:
这下大家可以看明白了吧。button1的TabIndex为0,在所有button中最小,所以Form1启动后会自动把焦点落在button1上。按Tab键,焦点会自动落在其余button中TabIndex最小,即button2上。以此类推,再按Tab键,焦点会落在button3上。再按Tab键,焦点会落在button4上。
可以看到,TabIndex属性是可编辑的,也就是说你可以控制Form启动时的焦点以及Tab 键顺序。比如你将button1、button2、button3、button4的TabIndex依次设为4,2,1,3。那么Form1启动后焦点会落在button3上。按Tab键,焦点会落在button2上。再按Tab键,焦点会落在button4上。再按Tab键,焦点会落在button1上。
再看看这4个button的TabStop属性,都是True。这个属性是用来指示用户能否使用 Tab 键将焦点放到该控件上。就是说TabStop为True,按Tab键会选到它;为False,按Tab键选不到它,当然你可以用鼠标单击选中它。
那么现在可以回答:C#如何在Form启动时控制焦点落在某一个控件上?
你需要确保该控件的TabIndex属性为所有控件中的最小值,而且TabStop属性为True。
更多关于TabIndex,@http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.webcontrol.tabindex.aspx
更多关于TabStop,@http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.tabstop.aspx