C\#MDI 하위 창 을 설정 하면 하나만 팝 업 할 수 있 는 방법
WindowForm 프로그램 을 새로 만 듭 니 다.우리 아버지 창문 으로 창 을 가 져 옵 니 다.Parent.메뉴 스 트 립 공간 에 끌 어 다 놓 으 십시오.새 창 에 FrmChildren 을 우리 의 하위 창 으로 만 듭 니 다.화면 은 다음 그림 과 같 습 니 다.
![](https://s1.md5.ltd/image/5aceeb44515edf2367c2b5c846b64d3e.png)
그 코드 는 다음 과 같다.
public Form1()
{
InitializeComponent();
// Form1 MDI , Form1 IsMdiContainer
this.IsMdiContainer = true;
}
menu strip 에서 하위 창 을 여 는 이벤트 코드 는 다음 과 같 습 니 다.
private void tsmiOpenWindow_Click(object sender, EventArgs e)
{
FrmChildren child = FrmChildren.GetWindow();//
child.MdiParent = this;// child
child.Show();
}
GetWindow()이 방법 은 어디 에 있 습 니까?당연히 FrmChildren 창 에 써 있 죠.
public partial class FrmChildren : Form
{
private FrmChildren() // public FrmChildren private FrmChildren
{
InitializeComponent();
}
static FrmChildren fc = null;
public static FrmChildren GetWindow()
{ // 。
if (fc==null||fc.IsDisposed)
{
fc = new FrmChildren();
}
return fc;
}
}
두 번 째 방법:이런 방법 은 개인 적 으로 매우 간단 하 다 고 생각한다.메뉴 스 트 립 에서 하위 창 을 여 는 이벤트 아래 에 바로 쓰 시 면 됩 니 다.
private void tsmiOpenWindow_Click(object sender, EventArgs e)
{
#region Application , , Name
// . Name FrmChildren , 。 , 。
if (Application.OpenForms["FrmChildren"] == null)
{
FrmChildren child = new FrmChildren();
child.MdiParent = this;
child.Show();
}
else// Name FrmChildren , show()
{
Application.OpenForms["FrmChildren"].Show();
}
#endregion
}
관심 이 있 는 친 구 는 본문 에서 말 한 예 시 를 디 버 깅 하여 실행 할 수 있 으 며,적지 않 은 수확 이 있 을 것 이 라 고 믿는다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.