如何在c#中从一个选项卡切换到另一个选项卡时自动填充文本框

时间:2013-09-11 06:58:08

标签: c# winforms

我正在开发一个应用程序(在c#中使用Visual Studio 2012),我必须读取一个.txt格式的配置文件。我也使用选项卡控件在不同的选项卡之间切换。 我想要做的是,当我点击配置选项卡时,我的应用程序应该读取配置文件并将我需要的数据放入该选项卡下的文本框中。 任何帮助将不胜感激。

我已经尝试将代码放置在表单构造函数中自动填充我的文本框并且它可以工作,但我不想通过构造函数执行它,因为它只会在创建表单时读取配置文件而不是在切换时从一个标签到另一个标签。

2 个答案:

答案 0 :(得分:1)

您需要使用制表符控件的SelectedIndexChanged事件。

tabContrl1.TabControl.SelectedIndexChanged += tabControl1_SelectedIndexChanged;

添加事件处理程序。将您的配置选项卡命名为“ConfigTab”(或者您想要的任何内容)。

private void tabControl1_SelectedIndexChanged(Object sender, EventArgs e) {

    if (tabControl1.SelectedTab.Name.Equals("ConfigTab")) {

       //Fill textbox here

}

}

答案 1 :(得分:1)

design视图中,选择整个tabControl。

然后单击属性窗口中的事件按钮(闪电)。

然后双击SelectedIndexChanged

这是一个示例代码:

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
    // "First Tab Page" is the text of the tab page.
    if ((sender as TabControl).SelectedTab.Text == "First Tab Page")
    {
        string filecontents = File.ReadAllText(@"path\to\configFile.txt");
        textBox1.Text = filecontents;
    }
}

简单?