我有一个windows表单应用程序和一个有一个组合框,这是从一个txt文件填充。
List<string> lines = System.IO.File.ReadLines(path).ToList();
foreach (string l in lines)
{
combobox.Items.Add(l);
}
作为一个按钮的结果,我想改变路径。这是可能的吗?我改变了路径,但什么也没发生,我想是因为我需要再次调用构造函数,但按钮在不同的窗口,组合框在另一个窗口。
3条答案
按热度按时间3vpjnl9f1#
您可以创建一个方法,将txt文件的路径作为参数。然后,您可以使用不同的路径在Form_Load和Button_Click上调用该方法。
xqnpmsa82#
即使你已经选择了一个答案,正如john提到的,一个更好的方法是使用BindingList。在下面的代码中,一个自定义的BindingList被用来提供一个单一的方法来添加项目到当前数据中,从而保持代码的整洁。你可以使用一个标准的BindingList,对于第二次加载,使用一个foreach来附加数据。
有两个按钮,第一个从文本文件加载,然后第一次加载组合框,第二个按钮追加数据。两个按钮都使用硬编码文件名,你可以很容易地改变。
将以下代码放入项目的类文件中。
Source
表单代码
eoigrqb63#
有一个比清除和添加项更小更简单的解决方案。你可以使用
DataSource
属性来代替这样做。但是你必须使用数组来代替列表。否则它将不起作用。你可以使用ReadAllLines(string)
来代替ReadLines(string)
。也请阅读此reference。