黑马程序员技术交流社区
标题:
文本框获取到焦点的一个执行过程
[打印本页]
作者:
冯华亮
时间:
2012-8-6 21:30
标题:
文本框获取到焦点的一个执行过程
因为我在写程序遇到一个问题,所以自己写了一个简单的测试。
加入两个文本框,添加得到焦点的事件。然后分别设置textBox1,textBox2的TabIndex为1和2,
C# code
private void textBox1_Enter(object sender, EventArgs e)
{
string str = "";
}
private void textBox2_Enter(object sender, EventArgs e)
{
string str = "";
textBox1.Focus();
}
运行程序,默认textBox1得到的焦点,当我按Tab时直接用鼠标单击textBox2时,按道理代码执行过程是
textBox2_Enter()--textBox1_Enter()--结束,但是当按Tab时,textBox1_Enter()会连续执行两次;当用鼠标单击textBox2执行过程更复杂,textBox2_Enter--textBox1_Enter--textBox1_Enter--textBox2_Enter--textBox1_Enter--textBox1_Enter--结束
为什么会这样,我希望是textBox2_Enter()--textBox1_Enter()--结束 就行了啊,,
作者:
樊占江
时间:
2012-8-7 00:08
你可以可以利用TabIndex属性,form上所有的的控件都有TabIndex,值是数字,该值是设置按Tab键会切换到哪一个控件。
你可以把TextBox1的TabIndex属性设置为0,其他控件的依次按顺序累加,这样窗体加载就会自动定位到TextBox1中。所有控件的这个属性的值不要重复,否则以最后设置的那个为准
希望答案对你有用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2