在Visual Studio C# Express2010上,我发现通过按照文档设置e.Cancel来取消e.Cancel会导致应用程序在退出时挂起。例如,运行下面并单击标题栏'X‘。
有人知道解决方案吗?谢谢。
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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_Validating(object sender, CancelEventArgs e)
{
e.Cancel = true;
}
}
}发布于 2011-08-16 18:35:03
由于textBox1无效,窗体被阻止关闭-如果您仍然希望允许用户关闭窗体,则可以按如下方式处理FormClosing事件:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = false;
}您需要以正常的方式连接此事件,例如:
this.FormClosing += new FormClosingEventHandler(this.Form1_FormClosing);如果您调试上面的事件处理程序,如果您的验证事件处理程序将e.Cancel设置为true,您将看到e.Cancel为true。
https://stackoverflow.com/questions/7076751
复制相似问题