Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理Windows Mobile 6.5的表单消息_C#_Windows_Forms_Compact Framework_Handler - Fatal编程技术网

C# 处理Windows Mobile 6.5的表单消息

C# 处理Windows Mobile 6.5的表单消息,c#,windows,forms,compact-framework,handler,C#,Windows,Forms,Compact Framework,Handler,我有一个windows mobile应用程序,我想在用户单击“X”时完全关闭,而不是隐藏它 我已将以下方法添加到表单中,但它有错误。代码是从其他地方复制的,如果我完全诚实的话,我不确定如何正确使用表单处理程序等,所以我想知道是否有人可以帮助我 protected override void WndProc(ref Message m) { if (m.Msg == 0x0005) { // WM_SIZE if (m.WParam == new IntPtr(0x04))

我有一个windows mobile应用程序,我想在用户单击“X”时完全关闭,而不是隐藏它

我已将以下方法添加到表单中,但它有错误。代码是从其他地方复制的,如果我完全诚实的话,我不确定如何正确使用表单处理程序等,所以我想知道是否有人可以帮助我

protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0005)
{ 
    // WM_SIZE
    if (m.WParam == new IntPtr(0x04))
    { 
        // SIZE_MINIMIZED
        this.Close();
    }
}
base.WndProc(ref m);
}
错误1。“找不到类型或命名空间名称‘Message’(是 是否缺少using指令或程序集引用?“

错误2。“'System.Windows.Forms.Form'不包含定义 对于“WndProc”


不能在紧凑的框架窗体或控件中重写WndProc。您已从桌面项目复制了代码。对于紧凑型框架,它要复杂一些。在许多情况下,仅使用一个就足以看到消息,以便您做出反应(例如)。然而,如果您需要完全子类化,那么它就有点复杂了。下面是控件的子类,尽管表单是相同的。

在您的特定情况下,解决实际问题的最简单方法就是将
表单的
属性设置为
false
。这会将X按钮变成一个带有文本“Ok”的白色圆圈。点击该按钮将通过发布退出消息退出窗体的运行循环,该消息通常会终止进程,除非您显式编写代码来执行其他操作