c# - 在 WinForms 应用程序中显示 List<String> 的最快方法?

标签 c# winforms

我是 Visual C# 的新手,我正在尝试创建一个 List<String>其内容由表单小部件显示,最好使用表单编辑器。来自 Qt/C++ 背景的我通常会这样做:

  • 在我的模型中创建一个围绕 QList<string> 的自定义数据结构并派生自 Subject观察者模式中的类。
  • 创建一个从 Observer 继承的新小部件(这又是观察者模式的一部分)和 Qt 的列表小部件之一。这个新创建的小部件应该能够在收到来自数据结构的通知时更新列表。
  • 确保小部件在运行时订阅数据结构。

这个过程很麻烦,我确信有更好的方法,但我现在不是来这里寻求 Qt 帮助的。显示 List<String> 内容的最快方法是什么? (或类似的结构)在 C# 中?我正在使用 WinForms。

最佳答案

// simple one-way, one-time binding 
var myItems = new List<string> { "aaa", "bbb" };
listBox1.DataSource = myItems;
// rebinding
var myItems = new List<string> { "aaa", "bbb" };
listBox1.DataSource = myItems;
....
myItems.Add("ccc");
listBox1.DataSource = myItems;
// one-way, multi-time binding
var myItems = new BindingList<string> { "aaa", "bbb" };
listBox1.DataSource = myItems;
...
myItems.Add("ccc");

关于c# - 在 WinForms 应用程序中显示 List<String> 的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771515/

相关文章:

c# - 使用 C# 填充 ComboBox

c# - 在这种情况下如何返回 List<MyInterface>

c# - Enable-Migrations 已过时。使用 Add-Migration 开始使用迁移

c# - 我如何创建一个方法类型 bool 并循环控制来决定案例?

c# - 更改 MDI 窗体的背景

c# - 将数据表转换为json时出错

c# - 列表+详细信息 - 最佳方法?

c# - "BeginSession"方法未被调用或未成功 - QBFC SDK12 和 ASP.NET 网站

c# - VS 2003 - IDE 永远不会遇到断点

C#MVC : Search Grid as Partial View to enable AJAX Return?