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

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

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

    通常我想要默认行为,但有时我想更改当前窗体上的用户控件。我该如何访问它?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Community Mohan Dere    8 年前

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

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

    另请参见:

        2
  •  2
  •   Community Mohan Dere    8 年前

    您要查找的功能是 SHDoneButton .

    使用dwState SHDB_SHOWCANCEL调用它会将“智能最小化”按钮的行为更改为仅发出WM_COMMAND消息。然后,您只需通过以下方式监听WM_COMMAND消息 setting a custom WndProc .

        3
  •  1
  •   Petros    16 年前

    如果我明白你想做什么:

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

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

    推荐文章