首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# winform 返回上一个文本框解决办法

2012-03-17 
C# winform 返回上一个文本框一个窗体上有TextBox ,button,label,gridview 。如果用户 在一个文本框获取焦

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();        }
[解决办法]
探讨

而是要获取上一个文本框,上一个控件不一定就是文本框

热点排行