今天下午做一個功能,是在ListView中的記錄中查找符合條件的項。
查找也想用個窗體,如圖:
ListView是在主界面上,按下Ctrl + F,就可調出查找窗體。
當點擊“查找時”,怎麼把查找條件傳給主窗體,並且執行查找方法。
這裏我用了代理(委託)。
定義一個委託:
public delegate void SearchNoticeHandler(string searchitem, string searchdetail);
再定義一個事件:
public static SearchNoticeHandler OnSearchNoticeEvent;
在主窗體裏,綁定事件和方法:
CGlobal.OnSearchNoticeEvent = OnSearchNotice;
其中,OnSearchNotice是處理方法, 在這裏面進行查找Listview,選中某一項等等。
然後,在點擊“查找”是,執行下面一句:
CGlobal.OnSearchNoticeEvent(searchItem, searchDetail);
這樣,整個查找功能就實現了。
另:
還遇到一個小問題,就是點擊“查找”後,在ListView裏選中了某一項,但是查找窗體就跑到主窗體後面了,可以通過設置查找窗體的TopMost = false實現始終在前面。