- PR -

C# Windowsアプリケーション ダイアログフォームを閉じたタイミングで呼び出し元のフォームへ値を設定した

投稿者投稿内容
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-14 13:17
<開発環境>
WindowsXP professional SP2
Visual Studio.NET Version7.0.9486
.NET Framework 1.0 Version1.0.3705
言語:VC#.NET

いつもお世話になっております。
C#でWindowsアプリケーションを開発しております。
WebのPGが多かったためWindowsアプリケーションの作成経験がほとんどありません。
とても初歩的なことだとは思うのですが次のような処理を行うには
どのように書くのがよいかご教授お願い致します。

フォームAの[一覧から選択]ボタンを押すとダイアログモードでフォームBを起動する。
フォームBではグリッドコントロールを持っておりグリッドの行を選択して[選択]ボタンを押すことでフォームBを閉じフォームAのテキストボックスへグリッドで選択され
た情報を設定する。







Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-07-14 13:22
丸投げされても困ってしまいますが。
取りあえずOpenFileDialogでも設計の手本としてみたらどうでしょう。
あとはぐぐってみるとか。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-14 13:22
S_Tatsuさん、こんにちは。

プロパティとかメソッドとかイベントとかを使います。
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-20 11:15
Hongliang様
きくちゃん様

ご返信ありがとうございました。
フォームBにフォームA型の変数を用意しフォームAの参照を渡すことで
フォームBからフォームAへ値を設定できるようになりました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-07-20 11:31
引用:

フォームBにフォームA型の変数を用意しフォームAの参照を渡すことで
フォームBからフォームAへ値を設定できるようになりました。


フォーム A からフォーム B に渡したい値を渡して、
取得も、フォーム A からフォーム B を参照して返すべきだと思いますよー。

親子関係って大切。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-21 09:56
じゃんぬねっと様

ご返信ありがとうございます。
フォームAからフォームBを参照する場合なのですが、フォームBを閉じるタイミング
で値を取得したいのですがフォームBをClose()としてしまった後でもフォームBのイン
スタンスをDispose()とするまでは参照可能なのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-07-21 10:34
引用:

フォームAからフォームBを参照する場合なのですが、フォームBを閉じるタイミング
で値を取得したいのですがフォームBをClose()としてしまった後でもフォームBのイン
スタンスをDispose()とするまでは参照可能なのでしょうか?


試せばわかることは試して頂きたいと願いますが、ShowDialog メソッドであれば大丈夫です。
ShowDialog メソッドの場合は using などを使って破棄を保証するのが当たり前ですし。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-21 14:01
じぇんぬねっと様ありがとうございます。
試してみたところうまく動いてくれました。
フォームBをColose()としてもフォームBのプロパティから値を取得する
ことができました。

FormB frmb = new FormB();
frmb.ShowDialog();

ここでfrmb.propertyで値が返ってきました。

frmb.Dispose();
frmb = null;

usingというのはどのようなものかわからないのですが調べてみたいと思います。

スキルアップ/キャリアアップ(JOB@IT)