如何让winform窗口显示最小化,最大化按钮,不显示关闭按钮?

时间:2022-01-27 06:23:21
如何让winform窗口显示最小化,最大化按钮,同时不显示关闭按钮?

10 个解决方案

#1


是想屏蔽close事件吗?
这个简单private void on_closing(e){e.cancel = true;}

#2


干脆自己绘制吧,关于绘制查一查以前的FAQ就知道了

#3


只能让它不起作用.

        private void yourform_Load(object sender, System.EventArgs e)
        {
            int lSysMenu;
            const int  MF_BYPOSITION = 1024;
            lSysMenu = WinApi.GetSystemMenu(this.Handle.ToInt32(), 0);
            WinApi.RemoveMenu(lSysMenu, 6, MF_BYPOSITION);
            //WinApi.RemoveMenu(lSysMenu, 5, MF_BYPOSITION);
        }
=====================
public class WinApi
{
[DllImport("User32.dll")]
public static extern int GetSystemMenu(int hWnd, int bRevert);
[DllImport("User32.dll")]
public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags);
}

#4



重画
http://www.microsoft.com/China/Community/TechZone/TechArticle/TechDoc/csharpui.asp

#5


自己绘制

#6


同意楼上观点

#7


自己绘制。

#8


同意chinchy(人民需要人民币) 的

#9


up

#10


如果非要实现这种界面,只能是重画了

#1


是想屏蔽close事件吗?
这个简单private void on_closing(e){e.cancel = true;}

#2


干脆自己绘制吧,关于绘制查一查以前的FAQ就知道了

#3


只能让它不起作用.

        private void yourform_Load(object sender, System.EventArgs e)
        {
            int lSysMenu;
            const int  MF_BYPOSITION = 1024;
            lSysMenu = WinApi.GetSystemMenu(this.Handle.ToInt32(), 0);
            WinApi.RemoveMenu(lSysMenu, 6, MF_BYPOSITION);
            //WinApi.RemoveMenu(lSysMenu, 5, MF_BYPOSITION);
        }
=====================
public class WinApi
{
[DllImport("User32.dll")]
public static extern int GetSystemMenu(int hWnd, int bRevert);
[DllImport("User32.dll")]
public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags);
}

#4



重画
http://www.microsoft.com/China/Community/TechZone/TechArticle/TechDoc/csharpui.asp

#5


自己绘制

#6


同意楼上观点

#7


自己绘制。

#8


同意chinchy(人民需要人民币) 的

#9


up

#10


如果非要实现这种界面,只能是重画了