以我自己的形式形成闭幕活动

时间:2014-05-03 11:25:25

标签: c# winforms events

在visual studio 2010 c#的Windows应用程序中,我有以下问题:

我正在制作一个static Form S1HiddenForm;,然后我用它来打开这样的应用程序:

Command("Something[AUTOEXEC=2]", S1HiddenForm);

打开了一个常用的Windows窗体。我想做一个事件,当用户按下X然后他不会让他关闭窗口。

如果我有一个通常的表格我知道我可以这样做

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (e.CloseReason == CloseReason.UserClosing)
        {
            e.Cancel = true; //I'm sorry Dave, I'm afraid I can't do that.
        }
    }

在设计器视图中使用事件处理程序。

但是在这个S1HiddenForm中我无法做到。有什么建议?这似乎很容易,但我找不到任何有用的东西。

1 个答案:

答案 0 :(得分:2)

尝试代表。如需帮助,请查看Delegates Help

键入 S1HiddenForm.FormClosing + = 并输入TAB,在事件中编写自定义代码。

你正在寻找这个......

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();
        }
        static Form2 f1=new Form2();

        private void Form1_Load(object sender, EventArgs e)
        {
            f1.Show();
            f1.FormClosing += new FormClosingEventHandler(f1_FormClosing);
        }

        void f1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.UserClosing)
            {
                e.Cancel = true; //I'm sorry Dave, I'm afraid I can't do that.
            }
        }
    }
}