C#在两个列表视图之间进行通信

时间:2010-12-28 17:33:15

标签: c# events user-interface listview mono

我有一个框架。在这里我保留两个ListViews。现在基于第一个列表视图中选择的项目,我执行一些操作并填充第二个列表视图的内容。

我是C#的新手,无法理解更新内容的最佳方法。让我按代码展示。

Class ListA : IListProvider 
{
List<string> items = new List <string> ();
 void selectionChanged ()
 {
    //view.Selected gives the selected item index in the list 
 }
}

class ListB : IListProvider 
{
   List<string> items = new List <string> ();
}

Class Shell 
{
Frame f = new Frame ();
ListA a = new ListA ();
ListB b = new ListB ();
f.Add (a);
f.Add (b);

// Now how do I get the event of selectionChanged in ListA to affect the contents of ListB

}

如果您需要更多详细信息,请与我们联系。感谢。

2 个答案:

答案 0 :(得分:0)

您必须注册1st listView的SelectedIndexChanged事件。 在这个事件中,处理程序实现了一个基于选择填充第二个listView的逻辑(查看eventArgs对象)

我不明白你正在使用什么技术(winform?wpf?ASP?)但这里是winforms的例子:

http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.selectedindexchanged.aspx

答案 1 :(得分:0)

我使用的是mono的ncurses库而且没有这个事件。因此解决方案是让我创建自己的Event及其EventHandler。