C# MDI 子窗体被父窗体控件挡住

最近在做一个小工具,发现了一个过去做项目没有遇到的问题:子窗体被父窗体的控件给挡住了!

如下图所示:

C# MDI 子窗体被父窗体控件挡住_第1张图片






















子窗体的TopMost 已经设为true,父窗体的控件已经置于底层,但是结果还是很悲观!无奈之下,谷歌了一下,尝试了很多种方法,结果找到了一种最简单的解决问题方案,代码如下:

using System.Runtime.InteropServices;  // 导入名称空间
[DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);

  frmAddAccount frmadd = frmAddAccount.GetInstance();
  frmadd.MdiParent = this;
  frmadd.Show();
  SetParent((int)frmadd.Handle, (int)this.Handle);

运行结果如图:

C# MDI 子窗体被父窗体控件挡住_第2张图片

你可能感兴趣的:(C#,Winform)