2011-11-16 44 views
2

我已经使用函数Find Text创建了搜索表单,如何保存上次搜索,以便在表单重新打开时创建Find Again按钮?如何在WinForm上保存搜索

我的搜索代码:

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

回答

2

如果你想搜索坚持当应用程序被关闭,存储和使用Settings类(其他答案在这个问题讨论替代方案检索用户过去的搜索)

-1

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

2

当您的用户运行搜索时,我会将搜索条件复制到用户设置并保存。当用户打开表单时,检索这个搜索条件,并用它来做(显示它,运行它等)。

了解更多关于用户设置here

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