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

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

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

Re[5]: fromの中に別のfromを表示させたいです。


(過去ログ 12 を表示中)

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

■3507 / inTopicNo.1)  fromの中に別のfromを表示させたいです。
  
□投稿者/ ゆりゆり (1回)-(2007/05/11(Fri) 18:53:51)

分類:[VB.NET (Windows)] 


言語 VB.net 2005 フレームワーク2.0 SQLserver2005 

少し質問させていただきたいのでお願いします。

formA とformBがあるとします。
まずformAを2つに分割して、Aの中のボタンを押したら
分割した片方のfromAの中にfromBを表示させたいです。
(わかりにくいので補足ですが、HTMLで言う FRAMEタグを使った形みたいな感じにしたいです。)

showで別のfromとして表示させるのであればできるのですけども、
どうやら、それでは不満らしく・・・。
SplitContainerを使って分割したのですが、それもなんか違うような気もして、
MDLも調べてみたのですが、別窓として子を表示するようで、どれを使っていいのかわからない状態です。

よろしければ、なにかヒントでもと思いまして、投稿させて頂きました。
低レベルかもしれませんがよろしくお願いします。

引用返信 編集キー/
■3508 / inTopicNo.2)  Re[1]: fromの中に別のfromを表示させたいです。
□投稿者/ じゃんぬねっと (418回)-(2007/05/11(Fri) 19:01:16)
じゃんぬねっと さんの Web サイト
No3507 (ゆりゆり さん) に返信
> showで別のfromとして表示させるのであればできるのですけども、
> どうやら、それでは不満らしく・・・。
> SplitContainerを使って分割したのですが、それもなんか違うような気もして、
> MDLも調べてみたのですが、別窓として子を表示するようで、どれを使っていいのかわからない状態です。

MDI アプリケーションではないのですね。
であれば、Form の Controls に新しい Form を Add すれば良いです。
ただし Add する前に TopLevel を False にしないと例外が発生すると思われます。
引用返信 編集キー/
■3530 / inTopicNo.3)  Re[2]: fromの中に別のfromを表示させたいです。
□投稿者/ ゆりゆり (2回)-(2007/05/14(Mon) 14:32:30)
返信遅くなってしまって申し訳ございません。
じゃんぬねっとさん ありがとうございます。
会社に入って1ヶ月半、言語を触りだしても同じ月日なので、右も左もわからず
せこせこControlsについて調べていました。

メインのform1に、ToolStripContainer,SplitContainerを設置して、Panel1,Panel2に分けて
panel1に設置したButtonのクリックイベント内で

        form1 = New 表示したい別のform名
        form1.TopLevel = False
        Me.SplitContainer1.Panel2.Controls.Add(form1)

と、記述してPanel2の部分に作ったフォームを表示させたいと思ったのですが、上手くいきませんでした。
エラーは出ず、クリックイベント自体は抜けたのですけれども、画面上には用意しておいた別のフォームは表示されませんでした。
私は、Panel1上のButtonと、Panel2が親子の関係ではないからと考えているのですがどうでしょうか?
いろいろ調べてみたのですが、自力では具体的な方法等は判らず終いでした。
聞いてばかりで申し訳ありませんが、よろしくお願いします。


引用返信 編集キー/
■3531 / inTopicNo.4)  Re[3]: fromの中に別のfromを表示させたいです。
□投稿者/ ぽぴ王子 (198回)-(2007/05/14(Mon) 14:58:42)
ぽぴ王子 さんの Web サイト
No3530 (ゆりゆり さん) に返信

フォームを New しただけでは表示されていない状態なので

        form1 = New 表示したい別のform名
        form1.TopLevel = False
        Me.SplitContainer1.Panel2.Controls.Add(form1)
        form1.Show()

という感じで。
これは知らないと結構ハマったりしますので、難しかったかもしれませんね。
# と、むかしハマったことのある私が言ってみる。



> 会社に入って1ヶ月半、言語を触りだしても同じ月日なので、右も左もわからず
> せこせこControlsについて調べていました。

回答とは直接関係ないですが、会社に入って1ヶ月半ということは、まだ新人研修
か何かでしょうか。
その場合は、講師役の先輩などに聞くことはできませんか?
じゃんぬさんに教えられたことをちゃんと調べて勉強されているのはとても偉い
(それこそウチの会社に入れたいぐらいだわ)と思いますが、新人研修中であれば
近場に聞く人もいても良さそうだなと思ったもので。

引用返信 編集キー/
■3532 / inTopicNo.5)  Re[4]: fromの中に別のfromを表示させたいです。
□投稿者/ じゃんぬねっと (419回)-(2007/05/14(Mon) 15:01:32)
じゃんぬねっと さんの Web サイト
No3531 (ぽぴ王子 さん) に返信
> フォームを New しただけでは表示されていない状態なので
>
> form1 = New 表示したい別のform名
> form1.TopLevel = False
> Me.SplitContainer1.Panel2.Controls.Add(form1)
> form1.Show()
>
> という感じで。
> これは知らないと結構ハマったりしますので、難しかったかもしれませんね。
> # と、むかしハマったことのある私が言ってみる。

BringToFront もしておいた方が良いですね。
引用返信 編集キー/
■3534 / inTopicNo.6)  Re[4]: fromの中に別のfromを表示させたいです。
□投稿者/ ゆりゆり (3回)-(2007/05/14(Mon) 15:16:22)
ぽぴ王子さん返信ありがとうございます。
教えて頂いた通りshowをソースに入れると表示することができ、
表示命令がどうなっているのかについても悩んでいたのですっきり解決しました。


> 回答とは直接関係ないですが、会社に入って1ヶ月半ということは、まだ新人研修
> か何かでしょうか。
> その場合は、講師役の先輩などに聞くことはできませんか?
> じゃんぬさんに教えられたことをちゃんと調べて勉強されているのはとても偉い
> (それこそウチの会社に入れたいぐらいだわ)と思いますが、新人研修中であれば
> 近場に聞く人もいても良さそうだなと思ったもので。

うちの会社では新人研修のようなものは無くて、研修の代わりに、
生産管理システムの簡単な修正等をまかされて、先輩などに聞きながら修正を行っていたのですが、
今回のプログラムの製作する少し前から、教えてくださっていた先輩が長期の出張に出てしまわれて、他の方も忙しい中でしたので、
回答率が多くまた解答速度がとても速くて、解決まで確りと話を聞いてくださる方が多いと感じられたので、こちらの掲示板のほうで質問させていただきました。
二人でやっているのですが、二人ともVBプログラムの実力は似たり寄ったりで、二人で頭をつき合わせてもよい回答が中々でない状況だったもので、思い切って投稿してみました。

じゃんぬねっとさん、ぽぴ王子さん ご指導ありがとうございました。


解決済み
引用返信 編集キー/
■3535 / inTopicNo.7)  Re[5]: fromの中に別のfromを表示させたいです。
□投稿者/ ゆりゆり (4回)-(2007/05/14(Mon) 15:37:38)
じゃんぬねっとさん更なる指導のほうありがとうございます。

ボタンを複数にして複数のフォームの呼び出しを試した結果、
じゃんぬねっとさんの言われた、BringToFrontが無いと一番上に表示されませんでした。
これで今回言われていた修正の部分のシステム的な部分の山場は越えれたと思います。



初心者の私にも大変わかりやすい説明をしてくださった、じゃんぬねっとさんとぽぴ王子さん、何から何まで本当にありがとうございました。

それでは失礼します。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -