namespace 委托
{
public partial class Form1 : Form
{
private delegate void WriteTextBox(char ch);
private WriteTextBox writeTextBox;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
textBox1.Clear();
textBox1.Refresh();
//实例化委托,传入一个方法
writeTextBox = new WriteTextBox(WriteTextBox1);
//把委托作为一个参数,传给另一个方法
//WriteTextBox1是当事人,实例化的委托writeTextBox是律师,WriteText是法官
WriteText(writeTextBox);
textBox3.Focus();
textBox3.SelectAll();
}
if (checkBox2.Checked == true)
{
textBox2.Clear();
textBox2.Refresh();
writeTextBox = new WriteTextBox(WriteTextBox2);
WriteText(writeTextBox);
textBox3.Focus();
textBox3.SelectAll();
}
}
private void WriteTextBox2(char ch)
{
textBox2.AppendText(ch.ToString());
}
private void WriteText(WriteTextBox writetextbox)
{
string data = textBox3.Text;
for (int i = 0; i < data.Length; i++)
{
//使用委托,实际调用的是委托中的方法
writetextbox(data[i]);
DateTime now = DateTime.Now;
while (now.AddSeconds(1) > DateTime.Now)
{
}
}
}
private void WriteTextBox1(char ch)
{
textBox1.AppendText(ch.ToString());
}
}
}
C#委托
最新推荐文章于 2024-10-23 23:13:09 发布