簡體   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