その後、static
プロパティを介してそれらにアクセスし、自分のMain
方法でウィンドウを作成しますが、すぐには表示されません。Application.Run
は、単一のフォーム自体を示しているため
public static class Program {
public static Form1 Form1 { get; private set; }
public static Form2 Form2 { get; private set; }
public static Int32 Main(String[] args) {
using(Program.Form1 = new Form1())
using(Program.Form2 = new Form2()) {
Application.Run(Program.Form1); // Form1's `Load` method would then show `Form2`
}
Program.Form1 = Program.Form2 = null;
return 0;
}
}
Form1は(Form2のを示すために責任があります):
public class Form1 : Form {
protected override void OnLoad(...) {
Program.Form2.Show();
}
private void Button1_Click(...) {
Program.Form2.TextBox1.Text = this.textBox1.Text;
}
}
Form2が(あなたは)公共の財産を経由してそのテキストボックスを公開する必要があります。
public class Form2 : Form {
public TextBox TextBox1 { get { return this.textBox1; } }
}
出典
2017-01-19 21:20:05
Dai
2番目のウィンドウを初めて作成したときの参照をそのまま使用してください。 – Abion47
[フォーム間の相互作用 - フォームのコントロールを別のフォームから変更する方法](http://stackoverflow.com/a/38769212/3110834) –