首页 新闻 会员 周边

C#的无边框窗体移动的屏幕顶部最大化效果

0
悬赏园豆:10 [已解决问题] 解决于 2024-02-04 12:44

从Windows 7开始,如果移动应用程序的标题栏到屏幕顶部,就会自动最大化效果。到了Windows 11,移动应用程序顶部会显示一个操作栏,能够有更多的操作。见下图,请问无边框窗体的移动如何也显示这个效果???问了群里,说是有个控件啥的能实现这个效果:

lzhdim的主页 lzhdim | 小虾三级 | 园豆:630
提问于:2024-01-31 16:26
< >
分享
最佳答案
0

使用API模拟移动标题栏即可。

 

 

private const int VM_NCLBUTTONDOWN = 0XA1;//定义鼠标左键按下
private const int HTCAPTION = 2;

/// <summary>
/// 模拟鼠标移动窗体标题栏,用于主窗体能够有移动到屏幕顶部最大化效果
/// </summary>
/// <param name="form">窗体</param>
public static void MouseDownEffect(Form form)
{
    ReleaseCapture();
    SendMessage(form.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);
}

lzhdim | 小虾三级 |园豆:630 | 2024-02-04 12:44

如果想要有移动无边框窗体到屏幕顶部显示最大化那个效果,需要设置FormBoderStyle = Sizeable,且MaximizeBox = true;

lzhdim | 园豆:630 (小虾三级) | 2024-02-05 12:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册