変数を格納するために親フォームの変数を使用しようとしています。次のように親フォームのコードは次のとおりです。ユーザーがButton1を押すとWinForms継承されたフォームが親の変数を参照できない
public partial class Form1 : Form
{
internal string testVar;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
testVar = "button1";
MessageBox.Show("testVar = " + testVar);
}
private void button2_Click(object sender, EventArgs e)
{
Form2 newfrm = new Form2();
newfrm.Show();
}
}
そう、それは「ボタン1」に変数を設定します。ボタン2を押すと、次のように定義され、子フォームを起動します:
public partial class Form2 : Form1
{
public Form2()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show(base.testVar);
}
}
だから、ボタン3は、親フォーム内の内部変数の値を示しています。ただし、空白です(設定されているかどうかに関係なく)。子フォームが親の値を見ることができないのはなぜですか?
は、あなたが 'testVar'中に何かを割り当てるよろしいですあなたの 'Form2'のインスタンス? – Vlad