|
背景
今天,在做一個指紋管理平臺的界面上,遇到了一些問題,因為公司的基礎庫中沒有針對Winform平臺的操作,所以在一個部門選擇的場景中,關于如何獲取部門TreeView中被選中的項目被難住了。所幸還有一個神器叫做搜索引擎,故谷歌一番,發現ASP.NET下的這個問題很好解決,但是關于Winform平臺下的類似問題,如鳳毛麟角啊!
當然,今天我也是查了很久,終于發現了兩篇不錯的文章,幫助我解決了這個問題,不敢獨享,結合自己對使用其方法的心得,特意記錄下來,并通過一個小例子和大家一起分享。
問題是這樣的
有一個部門列表,多級的(或者說無限極),我們在Winform端列出來(這個很簡單)后,需要對其進行部分的選擇,然后通過一個按鈕,提交選擇好的部門,進入下一個業務操作場景,今天我遇到的問題就是,如何獲取這個部門TreeView中,各個級別所選取的項目呢?如下圖:
在這里只是用一個例子來說明,所以就簡單一點吧,如左圖所示,我們的任務就是通過程序獲取被選中的部門,將其信息送到下一個業務場景之中,在傳統的ASP.NET中,Web.UI下的Treeview控件提供了很方便的接口方法,用于獲取被選中的項目,但是來到了Winform下,瞬間杯催……
發現不能用ASP.NET的思路來做這個事情后,我立馬谷歌了一下,發現如下這篇文章,說的很不錯,基本上解決了我遇到的問題,原文地址如下:“時空隧道”
我總結了一下,原作者的大概思路應該如下:
圖1-簡單的流程圖示意
解決問題:
在頁面(窗體)申明兩個變量:
- 第一個是用于存放被選項目的,文中是StringBuilder對象。
- 第二個是一個Tag標簽,按照原文的話就是“我們在TreeView的結點中用Tag來附加了CheckBox是否選中的標識信息”,字符串對象。
用代碼來描述就是如下形式:
string tag = "True";//Tag標簽
StringBuilder nodesTag;//容器
NET技術:關于Winform下,獲取Treeview中CheckBox選中項的技巧,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。