比如我写个事件委托类,在form1中注册一个委托(目的是为form1中的listview添加一条记录),我form2也注册这个委托(目的是为form2中的listview添加一条记录),触发事件发生在form1中,怎么只能在Form2中才添加了这条记录,form1中没有,如果将from2中的委托取消,form1中添加没问题,难道不能同时注册吗?但form1,form2中的委托事件全触发了啊,请教高手,最好有代码参考?
解决方案 »
- winform中调用自定义控件的事件比如鼠标单击事件等 急急
- 一段代码不会写
- 写给敬爱的版主们!希望能够在白忙中给予解决!
- C#2005下的一个程序模块,想做成组件在VB6.0程序中进行调用。
- 求微积分的源代码(最好是C#的),急!
- 望各位高手不吝赐教,进来看看!关于动态链接的问题!
- 月收入1000元的悲哀 散分贴 顶者加分!!!!!!! UP者加分!!!!
- 怎么实现在vs.net工具栏里的那种下拉按钮!???????????????
- 招个人,熟悉C#+Oracle (Winform,WinCE)工作地点 深圳
- 如何写程序修改DataGrid的列标题?
- GetData(DataFormats.Html)获取剪贴板数据问题,急。求救
- 如何解决未能从程序集中加载类型
public event EventHandler MyEvent;
if(MyEvent!=null)
{
MyEvent(this,null);
}public BindListViewfr2()
{
//listview数据添加事件
}
from1:
prvite BindListViewfr1(Sender object,EventArgs e)
{
//listview数据添加事件
}
from2 fr2=new form2();
fr2.MyEvent += new EventHandler(BindListView);
问题不是事件委托问题,是加listview时出错,但我还是没想通问什么? public void Add_listview(ListViewItem msg)
{
if (msg != null)
{
try
{
listView1.Items.Add(msg);
}
catch
{
}
// MessageBox.Show(msg.SubItems[0].Text.ToString());
}
}
触发事件的第一个处理事件 public void Add_listview(ListViewItem msg)
{
if (msg != null)
{
try
{
if (listView1.Items.Count != 0)
{
listView1.Items.Clear();
this.textBox1.Text = "";
} MessageBox.Show(msg.SubItems[0].Text.ToString());
ListViewItem item = new ListViewItem(); item.Text = msg.Text ; // lvi.SubItems.Add();
item.SubItems.Add(msg.SubItems[1].Text.ToString());
item.SubItems.Add("份");
item.SubItems.Add(msg.SubItems[3].Text.ToString());
// item.SubItems=
listView1.Items.Add(item);
}
catch {
}
}
触发事件的第二个处理事件
如果改成这样添加就没问题了,但如果都是第一个处理方法那样就会只能有一个listview添加成功,请教高人说说原因