C# 窗体关闭按钮弹出选择提示框触发不同事件

机房关闭时触发不同事件

这里写图片描述

因为messagebox的选择有限,所以只能通过窗体来模拟提示框

点击关闭按钮触发最小化

可以在主窗体的Closing事件中进行操作,大约如下:

privatevoid Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)

{
    // 取消关闭窗体

    e.Cancel = true; 

    // 将窗体变为最小化

    this.WindowState = FormWindowState.Minimized;

} 

如果要实现最小化到托盘,则必须在窗体内加入控件notifyicon,并为其设置一个Icon,这个就是托盘上的小图标,然后在上面的代码中添加下列几行:

this.ShowInTaskbar = false; //不显示在系统任务栏 

notifyIcon.Visible = true; //托盘图标可见 

并且实现notifyIcon的DoubleClick事件,这个事件使得双击托盘图标可以让窗体回来:

 private void notifyIcon1_DoubleClick(object sender, EventArgs e)

{

            if (this.WindowState == FormWindowState.Minimized)

            {

                this.Show();

                this.WindowState = FormWindowState.Normal ;

                this.ShowInTaskbar = true;

            }

 } 

触发按钮事件

一个按钮触发另一个按钮,如果要跨窗体的按钮的事件,需要把被触发的按钮事件修改为public即可


private  void button1_Click(object sender, EventArgs e)
{
    this.button1.Click += new System.EventHandler(button2_Click);
    //button2.PerformClick();2句都可以。
}

取消窗体的关闭功能
将FormClosingEventArgs的属性Cancel设置为true

private void Form2_FormClosing(object sender, FormClosingEventArgs e)    
{    
    DialogResult result = MessageBox.Show("你确定要关闭吗!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);    
    if (result == DialogResult.OK)    
    {    
        e.Cancel = false;  //点击OK   
    }    
    else  
    {    
        e.Cancel = true;    
    }    
}  
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼白z

感谢老板请我喝咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值