代码之家  ›  专栏  ›  技术社区  ›  TcKs

挂钩关闭(X)按钮在紧凑型框架中的应用

  •  1
  • TcKs  · 技术社区  · 15 年前

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

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

    谢谢

    3 回复  |  直到 15 年前
        1
  •  3
  •   Community Neeleshkumar S    7 年前

    (X)按钮是 一个关闭按钮,它是一个智能最小化按钮,您不能直接挂接到它(您可能会得到一个停用的事件,但您不能取消)。

    您可以将表单的MinimizeButton属性更改为false,它将更改为(ok)按钮,您可以处理该按钮(正如Petros指出的)。您可能还可以使用IMessageFilter或该表单的子类来钩住它的WinProc,以获得最小化事件。

    另见:

        2
  •  2
  •   Community Neeleshkumar S    7 年前

    您正在寻找的功能是 SHDoneButton .

    使用SHDB_SHOWCANCEL的dwState调用它会将“智能最小化”按钮的行为更改为仅发出WM_命令消息。然后,您只需要通过 setting a custom WndProc .

        3
  •  1
  •   David Grayson    15 年前

    如果我明白你想做什么:

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

    您可以为表单的“关闭”事件提供和事件处理程序。e.Cancel=true表示您不希望表单关闭,然后您可以做任何其他您想做的事情。