C# winform 返回上一个文本框
一个窗体上 有TextBox ,button,label,gridview 。如果用户 在一个文本框获取焦点时按了 上键 就让这个文本框之前的那个文本框获取输入焦点。如何做?
------解决方案--------------------1.可以考虑通过tab索引来记录,在TextBox的KeyDown事件中,返回上一个TabIndex
2.自己建立集合来记录TextBox的点击顺序,同样在KeyDown事件中,返回上一个TextBox,并从集合中删除当前TextBox的记录
------解决方案--------------------
KeyDown
int tabIndex = ((TextBox)sender).TabIndex;
foreach(Control cl in this.Controls)
{
if(cl.TabIndex == tabIndex - 1)
{
cl.Focus();
break;
}
}
------解决方案--------------------选中文本框。。它有个Leave事件。。在里面编写另外一个控件获取焦点的代码:
C# code
private void txtData_Leave(object sender, EventArgs e)
{
textBox1.Focus();
}
------解决方案--------------------