1

一連のブール値を settings.cs ファイルに保存しようとしています。これが私の現在の保存方法です。

    private void SaveConfiguration()
    {
        VisibilitySwitchesFlags VisibilitySwitchesSaves = 0;

        if (_menu.TreeItemDictionary[VisibilityItems.ReferenceLines].Checked)
        VisibilitySwitchesSaves = VisibilitySwitchesFlags.ReferenceLinesChecked;

        if (_menu.TreeItemDictionary[VisibilityItems.ShowProfilePoints].Checked)
        VisibilitySwitchesSaves = VisibilitySwitchesFlags.ShowProfilePointsChecked;

        Settings.Default.VisibilityViewStates = (int)VisibilitySwitchesSaves;//convert to int
        Settings.Default.Save();
     }

ここに私の Load メソッドがあります:

  private void LoadConfiguration()
  {
    VisibilitySwitchesFlags flags =(VisibilitySwitchesFlags)Settings.Default.VisibilityViewStates;

    _menu.TreeItemDictionary[VisibilityItems.ReferenceLines].Checked = flags.HasFlag(VisibilitySwitchesFlags.ReferenceLinesChecked);
    _menu.TreeItemDictionary[VisibilityItems.ShowProfilePoints].Checked = flags.HasFlag(VisibilitySwitchesFlags.ShowProfilePointsChecked);
  }

ロード後、保存に失敗したようです。私のアプローチに間違いはありますか?

4

1 に答える 1

2

フラグ列挙型の場合は、別の方法で設定する必要があります。

例えば:

VisibilitySwitchesSaves |= VisibilitySwitchesFlags.ReferenceLinesChecked;
于 2012-06-21T00:05:04.727 に答える