繁体   English   中英

C# Forms 应用程序 - 以字符串数组作为数据源的组合框,如何根据变量设置组合框值

[英]C# Forms App - Combo Box with an Array of strings as the Data source, how to set combo box value based on variable

我有一个包含 41 个不同字符串的字符串数组,我在几个不同的 forms 上有一个组合框,我使用该数组作为数据源设置了该组合框的值。

public static readonly string[] array1 = { "Value 1", "Value 2", etc. }
WLSel.DataSource = WavelengthArray.array1; 

程序本身接受用户输入并将所有数据导出到 a.txt 文件,并且我正在构建导入该 same.txt 文件并使用该已知数据加载表单的功能。 我已经成功地设置了更简单的组合框和基于已知值的单选按钮,但由于该数组中可能有 41 个值,我遇到了障碍。

有没有一种方法可以从.txt 中获取该值,并且基本上要求程序检查该数组,如果您找到相等的值,请将 SelectedIndex 设置为该值,或者我需要为每种情况编写一个开关?

foreach 块会起作用吗? 如果我做一个 foreach 来检查数组中的每个项目并将其与我的已知值进行比较并遇到匹配项,那么获取该值的索引以便我可以将其输入到组合框中的最简单方法是什么?

如果我理解正确,您正在尝试从 a.txt 文件填充 combobox。 您可以每行写入一个值,读取文件的内容,然后将内容传递给 combobox,如下所示:

string[] fileContent = System.IO.File.ReadAllLines(<<file_path>>);
WLSel.DataSource = fileContent;

考虑使用 OpenFileDialog 来获取 <<file_path>>。

我想通了,我使用以下内容检查数组中的每个值,然后获取预期值出现时间的索引并将组合框设置为该值。

string WL = Wavelength; 
foreach (string Value in WavelengthArray.array1)
{
   if (Value == WL)
   {
      int WLIdx = Array.IndexOf(WavelengthArray,Array1, Value);
      WLSel.SelectedIndex = WLIdx;
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM