C# 处理Windows Mobile 6.5的表单消息
我有一个windows mobile应用程序,我想在用户单击“X”时完全关闭,而不是隐藏它 我已将以下方法添加到表单中,但它有错误。代码是从其他地方复制的,如果我完全诚实的话,我不确定如何正确使用表单处理程序等,所以我想知道是否有人可以帮助我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))
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”的白色圆圈。点击该按钮将通过发布退出消息退出窗体的运行循环,该消息通常会终止进程,除非您显式编写代码来执行其他操作