重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

お世話になります。

.NET C#で開発をしている初心者です。
親Form1のReadOnlyにしているtextBox1をダブルクリックしたら、子Form2が表れ、
その中で、ラジオボタンなどで各項目を選択する様になっており、選択した結果の
文字列が、子Form2のReadOnlyにしているtextBox1に表示され、これで良ければ、
決定ボタンであるButton1を押すと、子Form2が閉じられ、元の親Form1のReadOnly
にしているtextBox1に子Form2で決定した文字列が表示される様にしたいのですが、

私がやってうまく行かないのは、子Form2で決定した文字列をClassでsetし、親Form1
に制御が移った時に、classからgetしようとしたのですが、
まず、子Form2が閉じられた時、親Form1はtextBox1にダブルクリックしたままの(後の)
状態、つまりカーソルが残ってる状態で、文字列が表示されない。

子Form2が閉じられた時すぐかもしくは、子Form2の決定ボタンであるButton1を押した
時すぐに親Form1のtextBox1に文字列が表示されていて欲しいのですが、その方法が
分からないので、とりあえず、親Form1のtextBox1のLeaveイベントを発生させて文字列
を表示しています。

どなたかご親切な方、ご教授下さいます様、宜しくお願い申し上げます。

A 回答 (11件中11~11件)

・親フォームのtextBox1の参照を子フォームに持たせておく


・子フォームが閉じられた、あるいはButton1を押したら参照を使って内容を更新
という流れですね。

なお、普通にこれだけ書くと通常設定ではエラーになります。
設定で回避することも不可能ではありませんが、デリゲートを使って親Formのスレッドで書くようにするのが普通です。
http://www.atmarkit.co.jp/fdotnet/dotnettips/312 …
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。

「参照を子フォームに持たせる」、「参照を使って内容を更新」とは
具体的にどの様にすれば良いのでしょうか。

差し支えなければお教え頂きたく宜しくお願いします。

お礼日時:2010/11/20 21:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!