c#中有关委托事件的问题
我想在一个类里调用主窗体中的控件,所以采用的了委托和事件,但是在执行过程中textBox1.Text有值却不能在窗体控件中显示,请教各位指点,下面是我做的一个简单的代码,贴出来请大家帮忙看看,谢谢!
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 demon
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Class1 cla = new Class1();
cla.FormDisplay();
}
string str = "";
public void Display(int ii)
{
textBox1.Text += ii.ToString();
}
}
}
Class类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace demon
{
class Class1
{
public delegate void Datadelegate(int str);
public event Datadelegate Dataevent;
int[] idata = { 12, 13, 24, 15, 16, 23, 14, 10, 22, 18 };
public void Statr ()
{
for (int i = 0; i < 10;i++ )
{
if ( idata[i]< 20)
{
if (Dataevent != null)
{
Dataevent(idata[i]);
}
}
}
}
public void FormDisplay()
{
Form1 f = new Form1();
Dataevent += f.Display;
Statr();
}
}
}
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 demon
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Class1 cla = new Class1();
cla.FormDisplay();
}
string str = "";
public void Display(int ii)
{
textBox1.Text += ii.ToString();
}
}
}
Class类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace demon
{
class Class1
{
public delegate void Datadelegate(int str);
public event Datadelegate Dataevent;
int[] idata = { 12, 13, 24, 15, 16, 23, 14, 10, 22, 18 };
public void Statr ()
{
for (int i = 0; i < 10;i++ )
{
if ( idata[i]< 20)
{
if (Dataevent != null)
{
Dataevent(idata[i]);
}
}
}
}
public void FormDisplay()
{
Form1 f = new Form1();
Dataevent += f.Display;
Statr();
}
}
}
...全文
相关推荐
C# 中如何利用lambda实现委托事件的挂接
在写一个小程序的时候,碰到了这样的问题,需要用委托来挂接事件,但是又想在这事件中使用局部的变量,而委托一旦定义好后,挂接方就没有办法再添加额外的形参了。那有没有什么办法,可以实现呢
《C#零基础入门之百识百例》(七十七) 委托事件实例练习2 -- 刘备招亲甘露寺
刘备招亲 :故事出自《三国演义》。刘备借东吴的荆州后,没有归还之意,周瑜便定下了美人计,企图乘刘备过江之机,把刘备扣留起来作为人质,以夺取荆州。
C#登陆(采用委托传值)
C#登陆,采用委托传值。 登陆成功后,登陆界面可以关闭掉,而不必隐藏起来。(传统的方法只能将登陆界面给隐藏起来)。解决掉了登陆窗体无法关闭的问题。
c# 用委托事件实现两窗体传值
子窗体定义委托事件,当子窗体关闭时运行父窗体注册的事件。
C#委托事件-张子阳.pdf
这本资料给我们提供了一个很好的例子,水浒烧水的案例,相信会对大家有用,所以就贡献出来于大家分享!


