C# winForm 新手问题

qq_42477988 2018-06-18 12:32:23


让图片2的操作不影响图片1 的操作 就是让this.Close();能正常执行
且点击form窗口右上角的X能正常弹出提示框和一个确定键 和无法退出的效果
只能由 this.Close();退出
...全文
88 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2018-06-18
  • 打赏
  • 举报
回复
引用 1 楼 jiangsheng 的回复:
加个成员变量标记是自己在关闭就行了。
比如
this.SelfClosing=true;
this.Close();
this.SelfClosing=false;
这样SelfClosing的值只有在this.Close();中才为真。

然后FormClosing的时候去检查SelfClosing的值,如果是true则跳过取消的代码,

这是一个好办法

也可以用e.CloseReason
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace T392399734
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason != CloseReason.ApplicationExitCall)
{
MessageBox.Show("不能退出哦");
e.Cancel = true;
}
}

private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}


qq_42477988 2018-06-18
  • 打赏
  • 举报
回复
加在哪个位置?
蒋晟 2018-06-18
  • 打赏
  • 举报
回复
加个成员变量标记是自己在关闭就行了。 比如 this.SelfClosing=true; this.Close(); this.SelfClosing=false; 这样SelfClosing的值只有在this.Close();中才为真。 然后FormClosing的时候去检查SelfClosing的值,如果是true则跳过取消的代码,

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧