先生, 我有3 mdichild形式。我想修复所有表格的位置。我的意思是,我想阻止用户移动窗体,并且窗体必须显示在我确定的位置。 如何实现这个.. 请回复...... 谢谢..如何修复Mdichild窗体的位置?
3
A
回答
0
试试这个
私人无效childForm_LocationChanged(对象发件人,EventArgs的)
{ this.Location = new Point(x, y); //give fixed postion as you want }
1
你设定通过使用表格的位置
this.WindowState = FormWindowState.Normal;
this.StartPosition = FormStartPosition.CenterScreen;
如果你有自己的统筹固定使用这个
this.Bounds = new Rectangle(new Point(50,50) , this.Size);
为了防止移动,你可以覆盖形式的OnMove methid
protected override void OnMove(EventArgs e)
{
this.Bounds = this.RestoreBounds;
}
1
您可以强制默认WM_NCHITTEST
的结果处理程序。
WM_NCHITTEST
消息告诉Windows用户点击了窗口的非客户区域的哪一部分。这告诉Windows,用户例如想要调整窗口大小或点击关闭按钮。
您可以强制默认的结果,使Windows不能告诉用户要拖动窗口或调整其大小:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == WM_NCHITTEST)
{
switch ((HitTestValues)m.Result)
{
case HitTestValues.HTBORDER:
case HitTestValues.HTBOTTOM:
case HitTestValues.HTBOTTOMLEFT:
case HitTestValues.HTBOTTOMRIGHT:
case HitTestValues.HTCAPTION:
case HitTestValues.HTGROWBOX:
case HitTestValues.HTLEFT:
case HitTestValues.HTRIGHT:
case HitTestValues.HTTOP:
case HitTestValues.HTTOPLEFT:
case HitTestValues.HTTOPRIGHT:
m.Result = (IntPtr)HitTestValues.HTNOWHERE;
break;
}
}
}
private const int WM_NCHITTEST = 0x84;
enum HitTestValues
{
HTERROR = -2,
HTTRANSPARENT = -1,
HTNOWHERE = 0,
HTCLIENT = 1,
HTCAPTION = 2,
HTSYSMENU = 3,
HTGROWBOX = 4,
HTMENU = 5,
HTHSCROLL = 6,
HTVSCROLL = 7,
HTMINBUTTON = 8,
HTMAXBUTTON = 9,
HTLEFT = 10,
HTRIGHT = 11,
HTTOP = 12,
HTTOPLEFT = 13,
HTTOPRIGHT = 14,
HTBOTTOM = 15,
HTBOTTOMLEFT = 16,
HTBOTTOMRIGHT = 17,
HTBORDER = 18,
HTOBJECT = 19,
HTCLOSE = 20,
HTHELP = 21
}
}
玩弄你想在你的switch
值一点点声明。你可以例如要么禁用窗体上的最小化/最大化按钮,但也可以将它们添加到switch
声明中。
相关问题
- 1. 如何修复桌面的位置如何修复桌面的位置如何修改桌面位置
- 2. MDIchild窗体背后的面板
- 3. 修复位置
- 4. 如何修复按钮的位置?
- 5. 如何使Widget修复的位置?
- 6. 如何修复表格行的位置
- 7. Android - 如何修复图像的位置
- 8. 如何修复UITableView中LiquidFloatingActionButton的位置?
- 9. 如何修复Android中Button的位置
- 10. 如何在MDIParent的控件顶部显示MDIChild窗体
- 11. UITableViewHeader(修复位置)
- 12. 如何从MDIChild窗体内正确显示Dialog()?
- 13. 如何重绘一个MDIChild窗体时,将MDIChild本身含有的容器,如TPanel有排列:= alClient和ParentBackground:=假
- 14. 修复图像的位置
- 15. 修复表的位置
- 16. C#窗口应用程序,如何保存和恢复子窗体的位置
- 17. 窗体更改的位置
- 18. 修复状态栏位置
- 19. 当用户按下子窗体上的最大化按钮时如何调整mdichild窗体的大小
- 20. 如何在Windows 7 64位上修复Visual Studio 6的设置源窗口字体?
- 21. 如何解决选项卡式MDIChild窗体中的这个问题?
- 22. 恢复窗口位置
- 23. 如何使用Ctrl + Tab在其他mdichild窗体之间切换时防止某个mdichild窗体变得焦点/激活? C#
- 24. 两个立方体在窗口中看不到如何修复
- 25. Visual Studio在窗体修改上的长时间修复
- 26. Word 2010中的VBA:如何修复TextBox的相对位置?
- 27. 如何修复忽略滚动条的Farbtastic的位置
- 28. 如何修复列表视图的标题视图的位置
- 29. 修复散列中的散列位置
- 30. 修复iphone中的uiview位置sdk