【问题标题】:How to keep multiple folder choices?如何保持多个文件夹选择?
【发布时间】:2013-10-10 08:16:35
【问题描述】:

我有一个文件夹浏览器按钮和一个显示所选路径的组合框。我希望它保留以前选择的路径。我写了这段代码,它工作正常。但我想知道是否有更有效的方法来做到这一点。

      private void Form1_Load_1(object sender, EventArgs e)
       string hurrem, hurrem2, hurrem3, hurrem4, hurrem5;
        hurrem = Settings.Default["com1"].ToString();
        hurrem2 = Settings.Default["com2"].ToString();
        hurrem3 = Settings.Default["com3"].ToString();
        hurrem4 = Settings.Default["com4"].ToString();
        hurrem5 = Settings.Default["com5"].ToString();


        comboBox2.Items.Add(hurrem);
        comboBox2.Items.Add(hurrem2);
        comboBox2.Items.Add(hurrem3);
        comboBox2.Items.Add(hurrem4);
        comboBox2.Items.Add(hurrem5);
        comboBox2.SelectedIndex = 0;

     private void button1_Click(object sender, EventArgs e)
    {
                  //..code
            Settings.Default["com5"] = Settings.Default["com4"];
            Settings.Default["com4"] = Settings.Default["com3"];
            Settings.Default["com3"] = Settings.Default["com2"];
            Settings.Default["com2"] = Settings.Default["com1"];
            Settings.Default["com1"] = path1.ToString();

            Settings.Default.Save();

【问题讨论】:

    标签: c#


    【解决方案1】:

    您可以在此处使用LimitedStackLimit size of Queue<T> in .NET?。然后,您可以使用Settings.Default 添加用于序列化/反序列化数据的方法。

    public void Save()
    {
      int i = 0;
      foreach (var item in _stack)
      {
        Settings.Default["com" + i++] = item;
      }
    
      Settings.Default.Save();
    }
    
    public void Load()
    {
      for (int i = 0; i < Limit; i++)
      {
        _stack.Add((T)Settings.Default["com" + i++]);
      }
    }
    

    存储项目(假设您将有限的堆栈保存在名为 myStack 的变量中):

    myStack.Push(path1.ToString());
    myStack.Save();
    

    将项目添加到组合框:

    for (int i = 0; i < myStack.Limit; i++)
    {
      comboBox2.Items.Add(myStack.Pop());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多