相关疑难解决方法(0)

以编程方式设置closereason

我想在表单中调用This.Close()之后设置表单的CloseReason.

通常,这个表单本身会调用This.Close()来关闭,但我想问用户他们是否真的要关闭表单,并发送一个包含一些信息的mbox.但我有这个:

protected override void OnFormClosing(FormClosingEventArgs e)
    {
        if (e.CloseReason == CloseReason.UserClosing)
        {
            if (MessageBox.Show("¿Desea Salir realmente?\nLa factura aun no ha sido pagada por lo que volverá a la pantalla anterior y podrá seguir agregando productos") == DialogResult.No)
            {
                e.Cancel = true;
            }
        }
        base.OnFormClosing(e);
    }
Run Code Online (Sandbox Code Playgroud)

但每次我调用This.Close(); CloseReason始终是UserClosing.

我可以在通话后设置它还是我必须处理不同的OnFormClosing?

c# winforms

14
推荐指数
4
解决办法
1万
查看次数

C#靠近托盘(如msn messenger)

我有#.net应用程序.所以我创建了一个位于托盘中的notifyIcon.我想要做的是当用户点击表单上的"x"按钮时,我希望它靠近托盘.他们应该只能使用托盘图标中的上下文菜单退出程序.

所以我所做的是,在表单关闭事件中,我检查表单是否可见.如果它的可见的,我把它设置为不可见,并设置showInTaskbar为假(模拟最小化到托盘),如果表单是不可见已经,那么他们可能从托盘关闭,所以我将退出在这种情况下的程序.

不过,我的问题是,如果窗口是可见的,但他们右键单击托盘图标,并创下出口的上下文菜单上,我需要退出程序,而不是减少.

我该如何解决这个问题?

c# minimize tray

5
推荐指数
1
解决办法
2546
查看次数

标签 统计

c# ×2

minimize ×1

tray ×1

winforms ×1