我正在尝试将父表单上的标签页名称更改为用户在单击条形菜单按钮时在子表单上的文本框中键入的内容。我有一切工作,我可以在两个表单之间提取正确的信息,但每次去获取当前选择的tabpage它总是返回“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中取出时,相同的方法可以正常工作。
答案 0 :(得分:1)
我认为问题在于每次单击按钮时都会创建一个新表单(BT类)。我建议你将表单创建从按钮点击事件移动到父表单加载功能。