如何在WinForm上保存搜索

时间:2011-11-16 16:58:31

标签: c# winforms text-search

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

我的搜索代码是:

    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.");
        }
    }

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

详细了解用户设置here

答案 2 :(得分:0)

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

将应用程序配置文件添加到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

答案 3 :(得分:-1)

您可以创建一个全局变量并将搜索存储在那里。