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

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

C# と VB.NET の入門サイト

Re[1]: 子ウィンドウの値を親ウィンドウに渡したい


(過去ログ 15 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■5489 / inTopicNo.1)  子ウィンドウの値を親ウィンドウに渡したい
  
□投稿者/ KOO (1回)-(2007/07/15(Sun) 17:05:35)

分類:[C/C++] 

はじめまして、KOO(初心者)といいます。

子ウィンドウで設定した値を親ウィンドウに渡して親ウィンドウで作業を
行いたいと考えております。

親から子への値をわたすのは比較的簡単にできたのですが

子から親への値の渡したいのですがうまくいきません。

どなたか教えていただけないでしょうか?
引用返信 編集キー/
■5490 / inTopicNo.2)  Re[1]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ 倉田 有大(UNYORA) (4回)-(2007/07/15(Sun) 17:13:56)
子に親のインスタンスの参照を渡しておくのがかんたんっす。
Form2
{
public Form ParentForm;
}

Form2 form2 = new Form2();
form2.ParentForm = this;

みたいなかんじで。
Form2が子ウインドウです。

後はForm2から
this.ParentForm.変えたい値 = 変えたい値
で、やりたい放題。
まあ、ここらあたりは、イベント利用したり、いろいろな方法がありますが、まずは簡単な方法からなれるのがおすすめ^^
引用返信 編集キー/
■5491 / inTopicNo.3)  Re[2]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ Blue (320回)-(2007/07/15(Sun) 17:33:47)
C#ではなくC++ですよね?

C++の場合、MFCなのかC++/CLI(MC++)なのかSDKなのか明記しておかないと
的確な回答は得られませんよ。


>親から子への値をわたすのは比較的簡単にできたのですが
はどのようにしたのでしょうか?
同じように親が子の値を回収するようなことでできないのでしょうか?
引用返信 編集キー/
■5493 / inTopicNo.4)  Re[3]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ くー (12回)-(2007/07/15(Sun) 18:05:58)
割り込みですみません。
倉田 有大(UNYORA)さんに質問なんですが、


> 子に親のインスタンスの参照を渡しておくのがかんたんっす。
ですが、私はよく親で子のインスタンスを作成する場合に子のコンストラクタで親のオブジェクを渡します。
その方法がいいのではないかと思うのですが。。。

Form_OYA
{
public Form_KO f_KO;

f_KO = new Form_KO(this);
}


Form_KO
{
public Form_KO f_OYA

'コンストラクタ
public Form_KO(Form_OYA object)
{
f_OYA = object
}

}

ってダメですかね?
引用返信 編集キー/
■5494 / inTopicNo.5)  Re[4]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ Blue (321回)-(2007/07/15(Sun) 18:23:23)
>割り込みですみません。
でしたら、こちらのリンクをつけて新しくスレを建ててください。

C++のスレでC#の話題をしていたらこんがらがってしまいますし。


ちなみに、もともとSystem.Windows.Forms.Formクラスにはコンストラクタで
親クラスを渡せるようになっています。(でOwnerプロパティに設定する)
あとは、子でそのOwnerプロパティを適切な型(=親クラスの型)でキャストして使います。
(よって、新たにメンバ変数を作る必要もない。(キャストの手間を考えるとあってもいいかもしれないが))

しかしながら、子から親をいじくるというつくりはあまり好ましいものではありません。
(モジュール結合度が高くなる ・・・て表現であってたっけ?)
なるべく、
>親が子の値を回収するようなことでできないのでしょうか?
というようなつくりにすべきです。
引用返信 編集キー/
■5495 / inTopicNo.6)  Re[5]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ Blue (322回)-(2007/07/15(Sun) 18:25:50)
すみません

>ちなみに、もともとSystem.Windows.Forms.Formクラスにはコンストラクタで
>親クラスを渡せるようになっています。(でOwnerプロパティに設定する)
はうそでした。

ShowDialogメソッドやShowメソッドで渡せるようになっているのでした。
引用返信 編集キー/
■5496 / inTopicNo.7)  Re[6]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ 倉田 有大(UNYORA) (5回)-(2007/07/15(Sun) 21:24:41)
>C++のスレでC#の話題をしていたらこんがらがってしまいますし。

あら、分類:[C/C++] 
でしたか、失礼。

>私はよく親で子のインスタンスを作成する場合に子のコンストラクタで親のオブジェクを渡します。
その方法がいいのではないかと思うのですが。。。

コンストラクタでも渡せるんですね知りませんでした^^;
まあ、やってる事は、親のインスタンスを子に渡しているだけなので、どっちでもよさそうですね^^
引用返信 編集キー/
■5499 / inTopicNo.8)  Re[7]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ くー (13回)-(2007/07/15(Sun) 23:21:18)
>C++のスレでC#の話題をしていたらこんがらがってしまいますし。
失礼しました(´Д`υ)

引用返信 編集キー/
■5500 / inTopicNo.9)  Re[1]: 子ウィンドウの値を親ウィンドウに渡したい
□投稿者/ KOO (2回)-(2007/07/16(Mon) 00:48:27)
たくさんのご意見ありがとうございます。

環境はVC++ 6.0 MFCにて勉強しております。

子に親のインスタンスを持たすことで解決しました。

本当にありがとうございました。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -