ネタ元 → 別Form内のオブジェクトが参照できない
変数の有効範囲は狭いに越したことないわけで。
それでいくとサイテーなのがグローバル変数。
誰が/いついぢくるかわかったもんじゃないからねー。
とはいってもそいつがread-onlyならギリギリ許せるかなーとか。
そんなわけでstaticを悪用(?)したサンプル。
あげる側 Form1 |
using System;
using System.Windows.Forms;
namespace FormInteraction
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
self_ = this; // ここでオノレをセット
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
private static Form1 self_;
// read-onlyならまぁ、実害もなかろうと。
public static string GlobalValue {
get { return self_.textBox1.Text; }
}
}
}
|
もらう側 Form2 |
using System;
using System.Windows.Forms;
namespace FormInteraction
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = Form1.GlobalValue; // ここでもらう。
}
}
}
|