紧凑框架应用程序中的钩子关闭(X)按钮

时间:2009-03-24 16:12:00

标签: .net compact-framework

我想在紧凑的框架应用程序中点击(单击)关闭按钮(右上角的X)执行我自己的操作。我正在使用Windows Mobile 6.1。

Usualy我想要默认行为,但有时我想更改当前表单上的usercontrol。我怎样才能达到它?

谢谢!

3 个答案:

答案 0 :(得分:3)

(X)按钮关闭按钮,它是一个Smart Minimize按钮,你不能直接挂钩(你可能会得到一个Deactivated事件,但你可以'取消那个)。

您可以将Form的MinimizeButton属性更改为false,它将更改为您可以处理的(ok)按钮(正如Petros指出的那样)。您可以使用IMessageFilter或子类表单挂钩其WinProc以获取最小化事件。

另见:

答案 1 :(得分:2)

您正在寻找的功能是SHDoneButton

使用dwState SHDB_SHOWCANCEL调用它会将“Smart Minimize”按钮的行为更改为仅发出WM_COMMAND消息。然后,您只需要通过setting a custom WndProc收听WM_COMMAND消息。

答案 2 :(得分:1)

如果我明白你想做什么:

private void Form1_Closing(object sender, CancelEventArgs e)
{
     e.Cancel = true;
     //Do my own thing
}

您可以为表单的“结束”事件提供和事件处理程序。通过e.Cancel = true,你说你不希望表格关闭,然后你可以做任何你想做的事情。