如何通过Windows窗体中的TabIndex获取元素的文本? 像是:
"this.Controls.GetElementByTabindex(1).text"
有可能吗?
答案 0 :(得分:7)
是的,可以使用LINQ
:
var text = this.Controls.OfType<Control>()
.Where(c => c.TabIndex == index)
.Select(c => c.Text)
.First();
如果您想使用扩展方法:
public static class MyExtensions
{
public static string GetElementTextByTabIndex(this Control.ControlCollection controls,int index)
{
return controls.OfType<Control>()
.Where(c => c.TabIndex == index)
.Select(c => c.Text).First();
}
}
string text = this.Controls.GetElementTextByTabIndex(1);
答案 1 :(得分:0)
试试这个。
string tabText= tabControl1.SelectedTab.Text;
MessageBox.Show(tabText);
答案 2 :(得分:0)
如果您不想使用linq,可以这样做:
int index = 1;
string text;
foreach(Control control in Controls)
{
if(control.TabIndex == index)
{
text = control.Text;
break;
}
}