C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: 他のForm上テキストボックスへの値の代入
(過去ログ 42 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■21823
/ inTopicNo.1)
他のForm上テキストボックスへの値の代入
▼
■
□投稿者/ 林檎
(1回)-(2008/07/10(Thu) 12:45:43)
分類:[C#]
どなたかお知恵を貸してください。
Form1 と Form2 があり、
Form1には textbox1 がデザイナにより配置されています。
「Form2に配置されているボタンを押すと、Form1のtextbox1に"a"というテキストを
挿入したいのですが、
private void button1_Click(object sender, EventArgs e)
{
Form1.textbox1.Text = "a".ToString();
}
では、
「静的でないフィールド、メソッド、またはプロパティ で、オブジェクト参照が必要です。」
とでてしまいます。静的メンバなど本で調べていますが、いまいちわかりません。
どうか、対処法をお教え願えませんでしょうか?
よろしくお願いします。
引用返信
編集キー/
編集
■21824
/ inTopicNo.2)
Re[1]: 他のForm上テキストボックスへの値の代入
▲
▼
■
□投稿者/ やじゅ
(482回)-(2008/07/10(Thu) 12:57:17)
2008/07/10(Thu) 13:04:42 編集(投稿者)
>■
No21823
(林檎 さん) に返信
>
よくある質問ですね、やはりここで躓く人が多いんですね。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=14162&KLOG=30
Form1からForm2への参照
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=38970&forum=7
Form2はどうやって表示しましたか?
おそらくForm1のメソッドの中で new Form2() ののち Show したはず。
Form2にForm1型のメンバをひとつ追加し、Showする前にForm1の参照を与えておきます。
class Form1 : Form {
void なにか() {
Form2 form2 = new Form2();
form2.Master = this; // ここでセット
form2.Show();
...
}
}
class Form2 : Form {
public Form1 Master; // これ追加
private void button1_Click(object sender, EventArgs e)
{
Master.textbox1.Text = "a".ToString();
}
...
}
引用返信
編集キー/
編集
■21825
/ inTopicNo.3)
Re[1]: 他のForm上テキストボックスへの値の代入
▲
▼
■
□投稿者/ オガシン
(20回)-(2008/07/10(Thu) 13:03:04)
2008/07/10(Thu) 13:06:20 編集(投稿者)
2008/07/10(Thu) 13:04:48 編集(投稿者)
<pre><pre>From1というのは型(クラス、設計図)なので
下記のように記述しないといけません。(他の部分でインスタンス化されていれば良いですが)
エラーを見る限りインスタンス化がされていないと推測されます。
private void button1_Click(object sender, EventArgs e)
{
Form1 fr1 = new From1(); //Formを設計図から実体化する(インスタンス化)
fr1.textbox1.Text = "a".ToString();
}
注)Form1のデザイナでtextbox1のModifiersプロパティを「Public」にする必要があります。
#ただ、クラスのメンバー(部品)を直接いじるのはあんまり良くないと思います。
<編集>
かぶってしまったOrz
やじゅさんが記述している方法のほうがよっぽど良い手法ですね(汗
</編集>
</pre></pre>
引用返信
編集キー/
編集
■21846
/ inTopicNo.4)
Re[2]: 他のForm上テキストボックスへの値の代入
▲
▼
■
□投稿者/ 林檎
(2回)-(2008/07/10(Thu) 19:20:52)
ありがとうございました!
質問の前に過去ログを検索するべきでした。
申し訳ありません。
問題無事解決しました。
こういった例に慣れていこうと思います。
お忙しいところ、本当にありがとうございました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-