繁体   English   中英

如何使用.NET Compact Framework隐藏表单

[英]How to Hide a Form using the .NET Compact Framework

我正在使用已安装Windows Mobile 6.1的智能设备。 我需要完全隐藏我的应用程序(一个Form ),但是我无法做到这一点。 我试图调用Form.Hide方法,但是它没有任何效果,该窗体仍然是打开的,可见的并且已最大化。 我也尝试按照这篇文章

[DllImport("coredll.dll")]
static extern int ShowWindow(IntPtr hWnd, int nCmdShow);

public Form1()
{
    InitializeComponent();
    Hide();
}

public new void Hide()
{
    const int SW_MINIMIZED = 6;

    FormBorderStyle = FormBorderStyle.FixedDialog;
    WindowState = FormWindowState.Normal;
    ControlBox = true;
    MinimizeBox = true;
    MaximizeBox = true;

    // Since there is no WindowState.Minimize, we have to P/Invoke ShowWindow
    ShowWindow(this.Handle, SW_MINIMIZED);
}

但没有任何影响(再次)。 做这项工作的正确方法是什么?

应用程序不需要调用Application.Run (在Compact Framework中需要一个Form)即可运行。 如果您的应用不需要用户界面,请不要创建表单。 您可以在没有Form的情况下从Main入口点创建状态循环,多线程以及几乎所有其他内容。 如果需要处理Windows消息,则始终可以通过自己调用GetMessageDispatchMessage来创建自己的消息泵。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM