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

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

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

Re[2]: MDI子フォームから子フォームの作成方法


(過去ログ 114 を表示中)

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

■67278 / inTopicNo.1)  MDI子フォームから子フォームの作成方法
  
□投稿者/ 中学3年A (9回)-(2013/07/21(Sun) 17:20:15)

分類:[.NET 全般] 

親フォーム(Form1)から子フォーム(Form2)を作成し、Form2に作成したボタンコントロール
から子フォーム(Form3)を作成する方法が解りません。
宜しくご教授ください。
因みに、VBでは以下のように作成しますがC#での作成方法が解りません。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ChildForm As New Form3()
ChildForm.MdiParent = Form1
ChildForm.Show()
End Sub

VBと同じように作成した以下の方法では上手くいきません。

Form3 ChildForm = new Form3();
ChildForm .MdiParent = Form1();//ここでエラー発生
ChildForm .Show();
引用返信 編集キー/
■67279 / inTopicNo.2)  Re[1]: MDI子フォームから子フォームの作成方法
□投稿者/ Azulean (181回)-(2013/07/21(Sun) 17:32:27)
答えだけをまず示すとこうなる。

Form3 childForm = new Form3();
childForm.MdiParent = this.MdiParent; // Form2が持っているMdiParentがForm1のインスタンスであることを利用している
childForm.Show();


(参考)
VB.NET で Form1 として使えたのは暗黙的なインスタンスという仕組みによるものです。
C# で似たようなことをやろうとすると、static 変数で Form1 のインスタンスをどこかのクラスに持たせることになります。
なお、どちらかと言えば、引数で渡す、プロパティで渡すといった方がよりよいです。
引用返信 編集キー/
■67286 / inTopicNo.3)  Re[2]: MDI子フォームから子フォームの作成方法
□投稿者/ 中学3年A (10回)-(2013/07/22(Mon) 13:37:15)
No67279 (Azulean さん) に返信
> 答えだけをまず示すとこうなる。
>
> Form3 childForm = new Form3();
> childForm.MdiParent = this.MdiParent; // Form2が持っているMdiParentがForm1のインスタンスであることを利用している
> childForm.Show();
>
>
> (参考)
> VB.NET で Form1 として使えたのは暗黙的なインスタンスという仕組みによるものです。
> C# で似たようなことをやろうとすると、static 変数で Form1 のインスタンスをどこかのクラスに持たせることになります。
> なお、どちらかと言えば、引数で渡す、プロパティで渡すといった方がよりよいです。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -