当前位置: 首页 > 编程语言 > C#

ListBoxRefresh()分享

时间:2023-04-10 14:08:38 C#

inc#ListBoxRefresh()int[]arr=int[100];listBox1.DataSource=arr;voidComboBox1SelectedIndexChanged(objectsender,EventArgse){.....//某些进程listBox1.DataSource=null;listBox1.DataSource=arr;}也不起作用,listBox1.Refresh();也不起作用,listBox1.Update();不工作,我知道我可以使用BindingList但我必须只使用数组。你能帮我如何刷新列表框吗?从我在堆栈交换上的第一个答案中尝试以下方法listBox1.DataBind()。C#.Net4.0:listBox1.DataSource=null;listBox1.DataSource=名称;我注意到我第一次设置数据源时,它会刷新。设置后,您尝试再次将其设置为相同的,它不会更新。所以我把它设置为空,设置为同一个,问题就正确地显示给我了。设法只做FirstListBox.DataContext=null;FirstListBox.DataContext=App.ViewModel;只需丢失链接并将所有数据返回给它即可。ListBox仅在数据源上绑定的对象通知自身更改时更新它显示的内容。BindingSource对象有一个名为DataSourceChanged的??事件。当源更改为其他内容时,列表框将自行更新。绑定List时也是如此。如果List被更改,则不会发生任何事情,因为不会通知List它已被更改。这个问题有一个简单的解决方案:使用BindingListhttp://msdn.microsoft.com/de-de/library/ms132679%28v=vs.110%29.aspx每次更改List时(显然)BindingList是调用并调用ListChanged事件。所以Windows.Form对象的DataBindings使用像ListChanged这样的事件来更新自己。简单的List不支持此事件。所以如果你想使用大量数据绑定,你应该知道:http://msdn.microsoft.com/de-de/library/system.componentmodel.inotifypropertychanged%28v=vs.110%29.aspx这些链接可能有帮助。如何更新列表框项目(C#)?–http://arstechnica.com/civis/viewtopic.php?f=20&t=554717将ArrayList绑定到ListBox–http://www.java2s.com/Tutorial/CSharp/0460__GUI-Windows-Forms/BindArrayListtoListBox.htm那么,没有我刚刚管理的约束:this.Hide();这个。显示();它重绘了一切...我继承了ListBox并添加了一个名为RefreshItems()的公共方法,它可以执行我们想要的功能。都已经实施了。我不知道他们为什么不采用公共方法。问题可能来自ListBoxSelectionMode。由于我不知道的原因,当SelectionMode为SelectionMode.None时,数据绑定不起作用。解决方法可能是:listBox.SelectionMode=SelectionMode.MultiExtended;listBox.DataSource=myDatasource;listBox.SelectionMode=SelectionMode.None;希望它能帮助你。使用应该修复它的BeginUpdate和EndUpdate。无需设置数据源两次listBox1.BeginUpdate();listBox1.DataSource=myList;listBox1.EndUpdate();Windows窗体很难在加载完成之前查看更改,尤其是在列表框和其他控件上。要在数据加载时查看数据,请使用invalidate();然后更新();以上就是C#学习教程的全部内容:c#中的列表框refresh(),如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文收藏来自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: