|
分類:[C#]
C#で他フォームから値を取得する方法が分かりません。
手順としては以下のようになっています。 Form1側のコンボボックス1からフルパスを選択できるようになっており それを「fullPath」という変数に格納。
そしてそれをsenddataに移す。 ボタン1を押し、Form2を表示。 その後Form2側でGET、SETしてテキストボックス2に入れています。
そのテキストボックス2に入っているフルパスを ツリービューの「GetDirectories(Form1側で指定したフルパス);」の中に入れたいのですが、
GetDirectories(TextBox2.Text); GetDirectories(sendData); GetDirectories(fullPath);
いずれにしても、nullになってしまい取得できません。 テキストボックスにさえ移せたら、そこから取得できるものと思っていたのですが出来ずにいます。 誰か原因がわかる方、構文を教えていただきたいです。
以下、関係のある構文を抜粋しました。 どうか宜しくお願い致します。
////// Form1側 Form2 fs; fs = new Form2(); public string fullPath = ""; public void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) {
fullPath = ComboBox1.Text fs.SendData = fullPath;
} public void Button1_Click(object sender, EventArgs e) {
try { fs.Show(); } catch (Exception ex) { }
}
////// Form2側 private string sendData = ""; public Form1 formMain; public string SendData { set { sendData = value; TextBox2.Text = sendData; } get { return sendData;
} } public Form2() { InitializeComponent(); TextBox2.ReadOnly = true;
string[] Tpath = Directory.GetDirectories(Form1側で指定したフルパス); foreach (String drive in Tpath) { TreeNode node = new TreeNode(drive, iconIndex, iconIndex); node.Nodes.Add(new TreeNode()); treeView1.Nodes.Add(node); } }
|