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 に答える