如何通过Windows窗体中的TabIndex获取元素的文本? 像这样:在c#winform中通过TabIndex获取元素的文本
"this.Controls.GetElementByTabindex(1).text"
这可能吗?
如何通过Windows窗体中的TabIndex获取元素的文本? 像这样:在c#winform中通过TabIndex获取元素的文本
"this.Controls.GetElementByTabindex(1).text"
这可能吗?
是的,这是可能的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);
尝试。
string tabText= tabControl1.SelectedTab.Text;
MessageBox.Show(tabText);
如果你不想使用LINQ,这样可以做到这一点:
int index = 1;
string text;
foreach(Control control in Controls)
{
if(control.TabIndex == index)
{
text = control.Text;
break;
}
}
谢谢。这真的很奇怪,但我没有在互联网上找到答案) – DiA
@DiA 你将如何指定它开始于第13个标签索引文本框的位置,并以LINQ结束于第33个标签页索引? – user2101411
完全不相关的排序,但我想从第13个标签索引文本框开始获取文本,并在第33个(最后一个文本框)结束。 – user2101411