4

私はWindowsアプリケーションに取り組んでいます。1つのフォームにメニューストリップがあります。それを尋ねたいのですが、menustripitemの特定のクリックで新しいフォームをロードするパネルを作成できますか。

元:

File Data 
  ABC  Hello
  XYZ  Bye

これらは私のメニューバーです。ABCをクリックすると、別のフォームに移動したくありません。パネルを使用して、同じフォームで何か(やりたいことは何でも)できますか。

ありがとう

4

5 に答える 5

4

同じ質問があったと思います。

しかし、私はそれに対する答えを見つけました

CodeProject の例

まず、フォームを構成する必要があります。

myForm.FormBorderStyle = FormBorderStyle.None;

次に、アクションを操作します。

Form1 myForm = new Form1();
myForm.TopLevel = false;
myForm.AutoScroll = true;
frmMain.Panel2.Controls.Add(myForm);
myForm.Show();

お役に立てれば幸いです。ハグ :D

于 2014-05-31T22:08:50.997 に答える
1

MDIフォームを使用できます。このようなことを試してください

 //Create a new instance of the MDI child template form
    Form2 child= new Form2(); 

    //Set parent form for the child window 
    child.MdiParent=this;

    //Display the child window
    child.Show()

こちらの サイトも 参照 でき ます.

于 2011-11-03T10:26:33.033 に答える
0

ターゲット フォームのコンテンツ全体を UserControl に配置すると、パネルをメイン フォームに追加し、そのパネルに UserControl を配置できます。

空のフォームを作成し、同じ UserControl をそのフォームに配置することで、別のフォームを表示するオプションもまだあります。

Int3 ὰ がすでに指摘しているように、代わりに MDI フォームを使用できます。ただし、ドッキング可能なパネルを使用する場合は、UserControl が適しています。

于 2011-11-03T10:29:20.113 に答える
0

フォームに 2 つのパネルを追加します。同時に表示されるのは 1 つだけです。次に、メニューに 2 つのイベントを追加します。

private void ABCToolStripMenuItem_Click(object sender, EventArgs e) {
    panelABC.Visible = true;
    panelXYZ.Visible = false;
}

private void XYZToolStripMenuItem_Click(object sender, EventArgs e) {
    panelABC.Visible = false;
    panelXYZ.Visible = true;
}
于 2011-11-03T10:29:56.613 に答える