如何通过代码实现 Windows Mobile 窗体的最小化

Microsoft .NET Compact Framework 2.0 的窗体类(System.Windows.Forms.Form)也提供了 WindowsState 属性,是 FormWindowState 枚举类型。在 .NET Framework 中 FormWindowState 枚举有 Normal, Minimized, Maximized 三个值。但是 .NET Compact Framework 中的 FormWindowState 枚举只有 Normal 和 Maximized 两个值。因此在 .NET Compact Framework 的窗体类中,不能通过设置 WindowState 属性为 FormWindowState.Minimized 实现窗体的最小化。不过我们可以通过调用 Win32 API 来实现,以下是实现该功能的关键代码:

//using System.Runtime.InteropServices;

[DllImport(
"coredll")]
private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
private const int SW_MINIMIZE = 6;

private void mniHide_Click(object sender, EventArgs e)
{
    // 隐藏窗体,可以通过重新运行程序来显示窗体
    
ShowWindow(this.Handle, SW_MINIMIZE);
}

private void mniExit_Click(object sender, EventArgs e)
{
    // 关闭窗体,窗体对象将会被销毁
    
this.Close();
}
posted @ 2007-11-26 18:08  黎波  阅读(2014)  评论(5编辑  收藏  举报