如何通過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