C# 在窗体上的“关闭”(X)按钮上显示工具提示

C# 在窗体上的“关闭”(X)按钮上显示工具提示,c#,forms,notify,C#,Forms,Notify,我有一个表单,其中我禁止用户在单击Close(X)按钮时关闭它。是否可以在单击关闭(X)按钮时在其上显示工具提示?我想这样做是为了通知用户为什么表单无法关闭 我想到了一个messagebox,但后来我觉得每次单击close(X)按钮时关闭messagebox会太烦人了 有没有比我想做的更好的通知用户的方法 编辑: 这是我的FormClosing事件代码 private void InputForm_FormClosing(object sender, FormClosingEventAr

我有一个表单,其中我禁止用户在单击Close(X)按钮时关闭它。是否可以在单击关闭(X)按钮时在其上显示工具提示?我想这样做是为了通知用户为什么表单无法关闭

我想到了一个messagebox,但后来我觉得每次单击close(X)按钮时关闭messagebox会太烦人了

有没有比我想做的更好的通知用户的方法

编辑:

这是我的FormClosing事件代码

    private void InputForm_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (e.CloseReason == CloseReason.UserClosing)
        {
            e.Cancel = true;
            if (!mCloseReason)
            {
                e.Cancel = false;
            }
        }
    }

我有一个方法可以将输入保存在表单中。一旦该方法完成,我需要自动关闭表单。一旦我调用this.Close(),if语句将为true,这意味着我无法关闭表单。这就是为什么我使用了一个名为mCloseReason的变量来自动关闭表单。现在,这就是为什么我要问,一旦单击关闭(X)按钮,是否可以通过工具提示通知用户。

我认为关闭(X)按钮的默认工具提示如果没有一些修改,是不可编辑的(这是不实际的)

也许你能做的是在表单下面有一个状态字段,所以当用户单击关闭按钮时,状态字段中会显示“无法关闭表单(…)”

或者另一种方法是在表单上的某个地方弹出一条消息,过一会儿就消失,表明表单无法关闭


罗杰提到了另一个好主意。。。只需在表单上的某个位置设置一个带有编码的工具提示的关闭按钮,并隐藏表单的标题栏?

我不确定是什么情况,但是否最好显示关闭按钮的禁用状态?工具提示有点不寻常。不。我正在使用DevXPress在表单上应用外观,而不显示关闭按钮的代码片段在DevXPress中不起作用。我认为允许用户随时点击取消按钮关闭表单是一种标准行为。否则,如果他们点击OK(确定)或Apply(应用)按钮,但其他控件上的输入不正确,则最好显示错误消息。这是一篇关于UI设计的好文章:。我只是在关闭(X)按钮底部附近放置了一个标签,使其不可见,然后在那里显示工具提示。