C#设置MDI子窗体不可移动

转载 2006年06月04日 20:23:00
You cannot make the child form stay fixed in the parent form by just chaning a property. You can try catching move events and returning the form in the center every time the user tries to change the position. You can do this by writing the following code in your child form class' code:



protected override void WndProc( ref Message m )

{

  const int WM_NCLBUTTONDOWN = 161;

  const int WM_SYSCOMMAND = 274;

  const int HTCAPTION = 2;

  const int SC_MOVE = 61456;



  if ( (m.Msg == WM_SYSCOMMAND) && (m.WParam.ToInt32() == SC_MOVE) )

    return;

  if ( (m.Msg == WM_NCLBUTTONDOWN) && (m.WParam.ToInt32() == HTCAPTION) )

    return;



  base.WndProc( ref m );

}  

相关文章推荐

C#学习笔记——MDI窗体(多文档界面)

1、设置父窗体: 如果要将某个窗体设置为父窗体,只需将该窗体的IsMdiContainer属性设置为True即可。 2、设置子窗体: 通过设为某个窗体的MdiParent属性来确定该窗体...

C#MDI打开子窗体去掉自动生成的菜单栏

C#在DMI中打开子窗体时自动生成了菜单栏,怎么去掉菜单栏呢呢? 先在父窗体的加载事件中打开子窗体并使它最大化 private void MDIParent1_Load(object send...

C#把MDI子窗体变为标签页面(不改写任何控件)

先给大家看下最终效果图如下: 这个是用vs2005写的,感觉那个关闭按钮图片支持不是那么好,在vs2008及其以上版里使用,效果更佳。       首先我们先新建一个项目,默认有个Form1...
  • ziyouli
  • ziyouli
  • 2012年02月29日 22:38
  • 4278

C# 创建MDI窗体

打开VS创建一个WindowsForm程序: 修改窗体属性:找到IsMdiContainer属性改为True即可: 接下来我们在Form1窗口中创建一个按钮,用来打...
  • MIYIshi
  • MIYIshi
  • 2017年04月03日 07:06
  • 420

编程技巧:C# mdi子窗体简单教程

一、参照自带例子做个mdi窗体  1、加入父窗体MainForm,并加入一个菜单栏,new form1 form2 windows  2、给new加命令      private int childF...

C#解决MDI窗体闪屏的方法

最近从师兄手上接了一个C#的项目,需要用到MDI窗体,可是每当我显示子窗体的时候会有一次“闪烁”,很明显,看起来非常不爽,查找许久,知道是每次在show()子窗体的时候都会调用子窗体构造函数重绘窗体,...

C#创建MDI窗体实例

  • 2016年02月28日 17:08
  • 6.11MB
  • 下载

子窗子显示在MDI主窗体panel控件之上

机房收费系统中,需要将子窗子显示在MDI主窗体panel容器控件之上。查了资料。大概网上有两种方法。一种是是可以将子窗体上的控件直接内嵌到panel控件之上,还有一种是子窗子显示在MDI主窗体pane...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#设置MDI子窗体不可移动
举报原因:
原因补充:

(最多只允许输入30个字)