3

MDI形式のパネルがあり、パネルにいくつかのコントロールがあります。MDIChildフォームを開くと、フォームはパネルの後ろに表示されます。forms.BringtoFront()とpanel.SendtoBack()を試しましたが、何も機能しません。次に、パネルのsetchildIndexを0に設定しましたが、機能しませんでした。

パネルを常にすべてのフォームの後ろに置く方法はありますか?

ありがとう

4

5 に答える 5

2

問題は、MDIの子のコンテナがパネルの兄弟であるということです。パネルは、そのコンテナの上または後ろにあります。

パネルをMDIの子と同じコンテナーに入れたいと思っていますが、それが可能であるとは思いません。MDIコンテナは、MDIの子だけを保持します。

要するに、MDIがあなたに必要なものを提供するつもりはないと思います。

于 2011-03-13T20:22:41.307 に答える
2

新しい空のフォームを作成し、Form_loadイベントでこのフォームの次のプロパティを設定します

private void bg_Load(object sender, EventArgs e)
{
    this.ControlBox = false;
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
}

その後、MDIフォームのロードイベントに次のコードを記述します

private void Main_Load(object sender, EventArgs e)
{
    bg bg = new bg(); // create object of empty form my empty form name is "bg"
    bg.MdiParent = this;
    bg.Show();
}

バックグラウンドで必要なものは何でも、空のフォームに追加します。

于 2013-06-22T08:32:42.060 に答える
0

パネルをMDI子ウィンドウに配置し、MDI親内でその位置とサイズを修正できますか?次に、パネルを含む1種類のMDI子ウィンドウのみがMDI親内で一度に開くことができるようにします。

于 2011-03-14T00:51:36.173 に答える
0

BringToFrontメソッドの後にメソッドを追加しましたShow

私にとってはうまくいきます。

于 2011-06-10T12:24:57.983 に答える
0

フローレイアウトコンテナを配置し、それに子を追加すると、他のパネルの上部に配置されます

于 2018-07-06T12:20:20.393 に答える