DOBON.NET DOBON.NETプログラミング掲示板過去ログ

MDIで子フォームのフォーカスについて

環境/言語:[Visual C#]
分類:[.NET]

MDIで、全ての子フォームをアクティブにしたいと思い、やってみましたが出来ませんでした。(やり方自体、全く分かりませんでした)

どなたか、お分かりになる方が、いらっしゃいましたら、ご回答宜しくお願いします。


ソース↓---------------------------

Canvas newMdiCanvas = new Canvas();
Tool tool= new Tool();
// Set the Parent Form of the Child window.
newMdiCanvas.MdiParent = this;
tool.MdiParent = this;
// Display the new form.
newMdiCanvas.Show();
tool.Show();

-----------------------------------
無理です。以上。
2004/07/18(Sun) 02:23:31 編集(投稿者)
2004/07/18(Sun) 02:22:13 編集(投稿者)
2004/07/18(Sun) 02:22:06 編集(投稿者)

全ての子フォームをアクティブにするのは、
厳しいと思います。アクティブなフォームって普通は1つだと思いますので。

全ての子フォームをアクティブにするとは違ってしまいますが、
子フォームを並べて表示させることならできます。
次の場合だと、横に並びます。
this.LayoutMdi(MdiLayout.TileVertical); //tool.Show();の次の行に追加

詳しくはこちらに載っています。
http://dobon.net/vb/dotnet/form/mdiapplication.html
> 全ての子フォームをアクティブにするのは、
> 厳しいと思います。アクティブなフォームって普通は1つだと思いますので。

厳しくありません、無理です。
アクティブなフォームは1つです。OSの仕様です。
2004/07/18(Sun) 20:47:42 編集(投稿者)
2004/07/18(Sun) 20:47:24 編集(投稿者)

Aさん、テラオメガさん、ご回答有難うございます。

FORMを継承して、MDIのようなFORMと、子FORMのようなツールを作るのでは、いけませんでしょうか?
アクティブなフォームは1つ、これはOSの仕様です。
従って、複数のフォームがアクティブになることはあり得ません。
Aさんご回答有難うございます。
ホトショプ見たいに、したかったのですが、やむなくあきらめます。

有難うございました。
ただ単にアクティブなように見せるだけであれば、タイトルバーを自分で描画し、アクティブバーの色を塗ればできるのではないでしょうか。
管理人さんご回答ご回答有難うございます。

自分で書けばよいのですね♪
これでようやく続きが、作れます。

私の質問に答えてくださった、皆々様本当にありがとうございました。(^_^)/
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板