C#&WinForm,当窗口FormBorderstyle=none的时候,最小化到任务栏时,点右键没有效果
为了设计自己的窗口效果,将formbordersytle = none,自己绘制了标题栏,但是最小化到任务栏时(不是托盘),点右键不会向以前一样会跳出关闭,最大化等等菜单,而且点左键也不能最小化或者最大化窗口
有什么解决办法吗?
------解决方案--------------------能解决,不过要使用API来设置一下窗口的类型。比如做如下代码设置后窗体就中系统菜单了:
[DllImport( "user32.dll ", EntryPoint = "GetWindowLong ", CharSet = CharSet.Auto)]
public static extern int GetWindowLong(HandleRef hWnd, int nIndex);
[DllImport( "user32.dll ", EntryPoint = "SetWindowLong ", CharSet = CharSet.Auto)]
public static extern IntPtr SetWindowLong(HandleRef hWnd, int nIndex, int dwNewLong);
private void button1_Click(object sender, EventArgs e)
{
int WS_SYSMENU = 0x00080000;
int windowLong = (GetWindowLong(new HandleRef(this, this.Handle), -16));
SetWindowLong(new HandleRef(this, this.Handle), -16, windowLong | WS_SYSMENU);
}
------解决方案--------------------hbxtlhx给出的方案是可行的,搂主有没有测试过?