C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.12099 の関連記事表示

<< 0 >>
■12099  Form2からForm1へ
□投稿者/ 案とー -(2007/12/30(Sun) 10:28:10)

    分類:[C#] 

    2007/12/30(Sun) 11:45:07 編集(投稿者)

    はじめまして。
    c#2005初心者です。

    c#で、テキストエディタを作っています。
    Form2からForm1のテキストボックスが編集できないで困っています。

    ---Form1---

    private void button1_Click(object sender, EventArgs e)
    {
    Form2 f = new Form2();
    f.ShowDialog(this);
    }

    ---Form2---

    Form1 fm;
    public Form2()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    fm.textBox1.Text = textBox1.Text;
    }

    上のようにすると、コンパイルはできるのですが、
    Form2のボタンを押したときに、
    「オブジェクト参照がオブジェクトインスタンスに設定されていません。」
    という実行時エラーが出てしまいます。
    どうしたらいいでしょうか。
    アドバイスお願いします。
親記事 /過去ログ26より / 関連記事表示
削除チェック/

■12104  Re[1]: Form2からForm1へ
□投稿者/ れい -(2007/12/30(Sun) 13:27:52)
    No12099 (案とー さん) に返信
    > 「オブジェクト参照がオブジェクトインスタンスに設定されていません。」
    > という実行時エラーが出てしまいます。

    変数fmにオブジェクトが格納されてないからエラーになります。

    > どうしたらいいでしょうか。

    fmにオブジェクトを設定します。
    たとえば、

    > private void button1_Click(object sender, EventArgs e)
    > {
    > Form2 f = new Form2();
    > f.fm = this;
    > f.ShowDialog(this);
    > }

    > public Form1 fm;

    とします。

    クラス、オブジェクト、インスタンス、変数、
    この四者の関係をもう一度勉強することをオススメします。
記事No.12099 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12149  Re[2]: Form2からForm1へ
□投稿者/ 案とー -(2007/12/31(Mon) 20:22:29)
    No12104 (れい さん) に返信

    > private void button1_Click(object sender, EventArgs e)
    > {
    > Form2 f = new Form2();
    > f.fm = this;
    > f.ShowDialog(this);
    > }

    ありがとうございます。
    またわからないところがありましたらご迷惑をおかけすると思いますが、
    そのときはよろしくお願いします。
記事No.12099 のレス / END /過去ログ26より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -