首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免.Validating() Cancel导致应用程序退出挂起?

如何避免.Validating() Cancel导致应用程序退出挂起?
EN

Stack Overflow用户
提问于 2011-08-16 18:27:02
回答 1查看 536关注 0票数 3

在Visual Studio C# Express2010上,我发现通过按照文档设置e.Cancel来取消e.Cancel会导致应用程序在退出时挂起。例如,运行下面并单击标题栏'X‘。

有人知道解决方案吗?谢谢。

代码语言:javascript
复制
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;
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-16 18:35:03

由于textBox1无效,窗体被阻止关闭-如果您仍然希望允许用户关闭窗体,则可以按如下方式处理FormClosing事件:

代码语言:javascript
复制
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = false;
}

您需要以正常的方式连接此事件,例如:

代码语言:javascript
复制
this.FormClosing += new FormClosingEventHandler(this.Form1_FormClosing);

如果您调试上面的事件处理程序,如果您的验证事件处理程序将e.Cancel设置为true,您将看到e.Cancel为true。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7076751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档