通过c#winform中的TabIndex获取元素的文本

时间:2014-01-23 05:41:31

标签: c# winforms tabindex

如何通过Windows窗体中的TabIndex获取元素的文本? 像是:

"this.Controls.GetElementByTabindex(1).text"

有可能吗?

3 个答案:

答案 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;
    }
 }