我想在紧凑的框架应用程序中点击(单击)关闭按钮(右上角的X)执行我自己的操作。我正在使用Windows Mobile 6.1。
Usualy我想要默认行为,但有时我想更改当前表单上的usercontrol。我怎样才能达到它?
谢谢!
答案 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,你说你不希望表格关闭,然后你可以做任何你想做的事情。