2011-11-16 38 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