0

当单击带状菜单按钮时,我正在尝试将父表单上的标签页名称更改为用户在子表单上的文本框中键入的内容。我有一切工作,我可以在两个表单之间提取正确的信息,但每次获取当前选定的标签页时,它总是返回“0”。

在 Forum1 上设置新标签页名称的功能(消息框来自尝试调试)

public void setNewTabName(string TextBoxText)
    {
        MessageBox.Show("Called");
        MessageBox.Show(TextBoxText);
        int CurrentSelectedTab = tabControl1.SelectedIndex;
        MessageBox.Show(CurrentSelectedTab.ToString());
        tabControl1.TabPages[CurrentSelectedTab].Text = TextBoxText;
    }

用于获取文本框信息并将其传递给 Form1 的函数 (Form2)

    private void button1_Click(object sender, EventArgs e)
     {
         BT frm1 = new BT();
         frm1.setNewTabName(getTextBoxInfo());
     }

    public string getTextBoxInfo()
     {
         return textBox1.Text;
     }

任何帮助将不胜感激。我想我发布了所有相关代码,但如果您需要其他任何内容,我可以发布整个内容。唯一真正遗漏的是它在单击按钮时创建一个新标签页。

编辑:从子 GUI 中取出相同的方法时效果很好。

4

1 回答 1

1

我认为问题在于每次单击按钮时都会创建一个新表单(BT 类)。我建议您将表单创建从按钮单击事件移动到父表单加载功能。

于 2013-02-22T20:55:34.320 回答