在Windows窗体中的DataRepeater控件中放置自定义数据绑定控件时,不会触发任何事件

时间:2010-05-10 12:27:35

标签: winforms

自定义数据绑定控件中的自定义事件未在DataRepeater控件中触发。当我调试它时,我发现DataRepeater控件使用Activator.CreateInstance重新创建控件并复制属性和事件。在我的情况下,复制事件不会复制我挂钩的自定义事件。

例如

public class MyClass:Control { 公共事件EventHandler MyEvent;

protected virtual void OnMyEvent() { if(this.MyEvent!= null) { this.MyEvent(此,EventArgs.Empty); } }

private int selectedIndex = -1; public int SelectedIndex { 得到 { return this.selectedIndex; } 组 {  if(this.selectedIndex!= value) { this.selectedIndex = value; this.OnMyEvent(); } } } // // DataBinding的东西就在这里 //

}

public Form1() { InitialiseComponent();

ArrayList list = new ArrayList(); list.Add( “1”);

this.dataRepeater1.DataSource = list; //一个转发器

MyClass test = new Myclass(); test.DataSource = GetDataTable();

this.dataRepeater1.ItemTemplate.Controls.Add(测试);

test.MyEvent + = new EventHandler(test_MyEvent);

}

//当Datatable的选定索引发生变化时,该事件应该触发,当直接放在表单中时触发,而在DataRepeater控件中放置时不触发///////////////// ////// private void test_MyEvent(object sender,EventArgss e) { //这个事件没有被解雇/////////////////////// }

私有DataTable GetDataTable() { ..//创建数据表并返回 }

任何帮助感谢。

谢谢,

1 个答案:

答案 0 :(得分:0)

请参考以下论坛。它会对你有所帮助。

http://social.msdn.microsoft.com/Forums/en-US/vbpowerpacks/thread/b8b2bf93-46d5-406b-8947-c7b9ba02a771

此致 Lingaraj S。

相关问题