2

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

我的搜索代码是:

    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

3 回答 3

2

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

于 2011-11-16T17:03:24.037 回答
2

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

在此处阅读有关用户设置的更多信息。

于 2011-11-16T17:05:03.797 回答
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

于 2011-11-16T20:08:43.560 回答