在該按鈕事件處理中,我們查詢數據表FileSystemLog,對每一條查詢所得 的數據創建一個ListVIEwItem項目,並根據記錄的EventStyle值設置該列表項目的圖標序號 和分組狀態。
工具條的“刪除記錄”按鈕用於刪除列表中選擇的項目,其 點擊事件處理為
private void btnDelete_Click(object sender, EventArgs e)
{
if (lvwRecord.SelectedItems.Count > 0)
{
using (System.Data.IDbCommand cmd = Util.DBConnection.CreateCommand())
{
for (int iCount = lvwRecord.Items.Count - 1; iCount >= 0; iCount--)
{
ListVIEwItem item = lvwRecord.Items[iCount];
if (item.Selected)
{
cmd.CommandText = "Delete From FileSystemLog Where RecordID = '" + item.Tag + "'";
cmd.ExecuteNonQuery();
lvwRecord.Items.Remove(item);
}
}//for
}//using
}
}
在刷新列表中,我們將列表項目的Tag屬性值設置為數據庫記錄的編號,在 這裡我們利用這個事先保存的數據庫記錄的編號拼湊出SQL語句然後刪除指定的記錄。
工具條的“啟動服務”按鈕用於啟動後台的文件監視服務。其點擊事件處 理為
private void btnStartService_Click(object sender, EventArgs e)
{
if (bolServiceInstalled == false)
return;
using (System.ServiceProcess.ServiceController control = new System.ServiceProcess.ServiceController("MyFileSystemWatcher"))
{
if (control.Status == System.ServiceProcess.ServiceControllerStatus.Stopped)
{
control.Start();
}
}
}
在這裡我們創建一個ServiceController對象,若判斷出服務的狀態為停止 ,則調用控制器的Start方法來啟動服務,在這裡Start方法內部只是通知操作系統啟動指定 名稱的服務,它發送通知後立即返回,並不會等待服務啟動後返回。