以下のコードは、 から取得した保存済みの値に基づいて、チェックボックスをオンまたはオフに設定することにより、ダイアログ ボックスのチェックボックスを初期化しようとしていますSettings.GetOption()
。checkbox.Key
ただし、このコードの実行後、チェックボックスはまだ初期化されていません。これは、参照するときに参照ではなくオブジェクトのコピーであるためだと思います。コードが正しく動作するように参照するにはどうすればよいですか?
Dictionary<CheckBox, string> checkboxes = new Dictionary<CheckBox, string>() {
{ CheckEnableHotkeys, "EnableHotkeys" },
{ CheckMinimizePlayback, "MinimizeOnPlayback" },
{ CheckMinimizeRecording, "MinimizeOnRecord" },
{ CheckLoopPlayback, "LoopPlayback" },
{ CheckJitterMode, "JitterMode" }
};
foreach (KeyValuePair<CheckBox, string> checkbox in checkboxes)
checkbox.Key.Checked = Settings.GetOption(checkbox.Value) == 1;
*編集: 問題は、コードが実行された後でもチェックボックスがすべてオフになっていることです。その理由は完全にはわかりません。*