gpt4 book ai didi

c# - 无边框 move 窗口

转载 作者:可可西里 更新时间:2023-11-01 08:34:23 24 4
gpt4 key购买 nike

如何 move 没有边框的窗口。应用程序上没有空白空间,可用的只有一个网络浏览器和一个菜单条。我希望用户能够通过拖动菜单条来 move 窗口。我该如何编码?我尝试了一些在网上找到的代码块,但没有一个有效。

最佳答案

This代码项目文章应该可以帮助您完成此任务。我自己用过这个没有问题。这是它的要旨:

public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;

[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}

这基本上会“欺骗”窗口管理器,使其认为它正在抓取 winform 的标题栏。

要将它应用到您的项目中,只需使用 MenuStrip 中的 MouseDown 事件。

关于c# - 无边框 move 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com