列挙型の項目を表示するリストボックスがあります。リストボックスが表示されたとき/フォームが開いたときに、現在の値(データベースから読み取ったもの)を選択/強調表示したい。ただし、このコードは次のとおりです。
lblSelectedPrinter.Text = AppSettings.ReadSettingsVal("beltprinter");
listBoxBeltPrinters.SelectedItem = listBoxBeltPrinters.Items.IndexOf(lblSelectedPrinter.Text);
...動作しません。ここで「GetItemAt」を使用する例を見ました (プログラムで ListBox 内の項目/インデックスを選択する) が、C# の簡略化された古風なバージョン (.NET 1.1、C# 2) にはそのような生き物はありません。
アップデート
私はこれがうまくいくと思った:
string currentPrinter = AppSettings.ReadSettingsVal("beltprinter");
lblSelectedPrinter.Text = currentPrinter;
int currentPrinterIndex = listBoxBeltPrinters.Items.IndexOf(currentPrinter);
listBoxBeltPrinters.SelectedItem = currentPrinterIndex;
...しかし、そうではありません (現在のプリンターがラベルに表示されますが、リストボックス内の対応するエントリ/値は選択されていません)。