【问题标题】:How to save searches on a WinForm如何在 WinForm 上保存搜索
【发布时间】:2011-12-30 15:10:35
【问题描述】:

我创建了一个带有查找文本功能的搜索表单,如何保存上次搜索,以便在重新打开表单时创建一个再次查找按钮?

我的搜索代码是:

    private void btnSearch_Click(object sender, EventArgs e)
    {
        if (cboField.SelectedIndex == -1)
        {
            return;
        }

        if (txtValue.TextLength == 0)
        {
            return;
        }

        string filter;
        filter = "[" + cboField.Text + "]";

        filter += lblOperation.Text + "'" + txtValue.Text + "'";

        try
        {
            peopleBindingSource.Filter = filter;
        }

        catch (System.Data.EvaluateException)
        {
            MessageBox.Show("Please enter valid values in your text fields.");
        }
    }

【问题讨论】:

    标签: c# winforms text-search


    【解决方案1】:

    如果只需要记住最后一次搜索,我建议将此值写入应用程序配置文件。

    将应用程序配置文件添加到您的 C# 项目

    • 在“项目”菜单上,单击“添加新项目”。
    • 将出现“添加新项目”对话框。
    • 选择应用程序配置文件模板,然后单击添加。
    • 名为 app.config 的文件已添加到您的项目中。

    向此配置文件添加密钥

    文件应如下所示:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
       <appSettings>
          <add key="LastSearch" value="" />
       </appSettings>
    </configuration>
    

    更新值 要覆盖此配置文件中的值,请参考以下代码示例(遗憾的是 .NET 中没有内置修改方法) http://www.freevbcode.com/ShowCode.asp?ID=7718

    【讨论】:

      【解决方案2】:

      如果您希望在应用关闭时继续搜索,请使用 Settings 类存储和检索用户过去的搜索(该问题中的其他答案讨论替代方案)

      【讨论】:

        【解决方案3】:

        当您的用户运行搜索时,我会将搜索条件复制到用户设置并保存。当用户打开表单时,检索此搜索条件并按照您的意愿进行操作(显示、运行等)。

        详细了解用户设置here。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-06
          • 1970-01-01
          • 2012-01-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多