代码如下需要用到委托时间在FormClosing事件中 Form1中代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;namespace WindowsApplication1 { public delegate void DCloseWindow(string pwd); public partial class Form1 : Form { string close = ""; public Form1() { InitializeComponent(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
Form2 doc = new Form2(); doc.EventCloseWindow += new DCloseWindow(doc_EventCloseWindow); doc.ShowDialog(); if (close == "yes") { e.Cancel = false; } else { e.Cancel = true; } } void doc_EventCloseWindow(string pwd) { if (pwd == "yes") { close = "yes"; } } } } Form2中代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;namespace WindowsApplication1 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } public event DCloseWindow EventCloseWindow; private void button1_Click(object sender, EventArgs e) { if (EventCloseWindow != null) { if (this.textBox1.Text.Trim() == "123") { EventCloseWindow("yes"); this.Close(); } } } } }
他们都说错了 应该是FormClosing 在这里可以弹出框 判断是否执行即可 很简单的
,在close事件里 Form2 doc = new Form2(); doc.EventCloseWindow += new DCloseWindow(doc_EventCloseWindow); doc.ShowDialog(); if (close == "yes") { e.Cancel = false; } else { e.Cancel = true; } } void doc_EventCloseWindow(string pwd) { if (pwd == "yes") { close = "yes"; } } } }
Form1中代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication1
{
public delegate void DCloseWindow(string pwd);
public partial class Form1 : Form
{
string close = "";
public Form1()
{
InitializeComponent();
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Form2 doc = new Form2();
doc.EventCloseWindow += new DCloseWindow(doc_EventCloseWindow);
doc.ShowDialog();
if (close == "yes")
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
} void doc_EventCloseWindow(string pwd)
{
if (pwd == "yes")
{
close = "yes";
}
}
}
}
Form2中代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} public event DCloseWindow EventCloseWindow; private void button1_Click(object sender, EventArgs e)
{
if (EventCloseWindow != null)
{
if (this.textBox1.Text.Trim() == "123")
{
EventCloseWindow("yes");
this.Close();
}
}
}
}
}
Form2 doc = new Form2();
doc.EventCloseWindow += new DCloseWindow(doc_EventCloseWindow);
doc.ShowDialog();
if (close == "yes")
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
} void doc_EventCloseWindow(string pwd)
{
if (pwd == "yes")
{
close = "yes";
}
}
}
}
人家用的Hook
具体 你可以搜一下 C#做的挂机程序
网上有进程保护的代码,可以搜索来作参考.