您的位置:首页 > 其它

winform无标题窗体点击任务栏最小化、还原功能

2011-07-18 18:38 363 查看
做winform开发的时候,常常为了美化界面,把窗体的FormBorderStyle属性设置为None,即所谓的无标题窗体,这个时候,在任务栏鼠标右击是没有菜单的,那么如何吧默认的系统菜单还原回来呢?

第一步,引用命名空间

using System.Windows.Forms;
using System.Runtime.InteropServices;

第二部,申明win32方法,放在Form类里面

[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);

第三步,在Form的Load事件中添加以下代码

View Code

1 protected override CreateParams CreateParams
2 {
3 get
4 {
5 const int WS_MINIMIZEBOX = 0x00020000; // Winuser.h中定义
6 CreateParams cp = base.CreateParams;
7 cp.Style = cp.Style | WS_MINIMIZEBOX; // 允许最小化操作
8 return cp;
9 }
10 }

通过以上步骤,就可以把系统默认菜单给恢复啦。

作者:风雨彩虹
    

出处:http://www.cnblogs.com/liubiaocai/
    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: