2009-11-03 73 views
5

我在程序中使用了Windows窗體TreeView控件。我希望允許用戶通過拖動鼠標指針(也稱爲「套索」選項)來選擇同一級別的多個節點。我不認爲一個標準的TreeView允許。TreeView中的多選項

我的問題是實現這個目標的最佳方法是什麼?是否必須在自定義或派生控件中編寫自己的自定義選擇行爲?我從哪說起呢?

我不需要詳細的解釋。只是在正確的方向小推動。

回答

6

這對於標準的WinForms TreeView控件來說並不容易。 TreeView控件僅支持每棵樹的單個選擇。無法同時選擇樹中的多個節點。

爲了獲得這種行爲,您可能最終需要創建一個類似於TreeView的允許進行多項選擇的類。另一種選擇是從TreeView派生,並通過覆蓋特定行爲來啓用多項選擇。這裏是一篇關於如何做後者的文章。

+0

我瞭解自定義控件方法以獲得多選。你會建議,我應該採取什麼方向來實施「套索」選擇?我是否必須求助於GDI級別的自定義繪圖,或者是否有API或Windows爲此公開的內容,這可以使我的工作更輕鬆? – 2009-11-03 09:07:04

+0

@Frederick,我不是一個很好的人評論。我的建議是打開一個單獨的新問題,純粹專注於如何在通用WinForm控件上實現套索選擇。這可能會產生更好的結果。 – JaredPar 2009-11-03 19:24:49

+0

謝謝Jared。我會這樣做的。 – 2009-11-04 15:04:56

0

考慮在支持多個選擇列表視圖等的控制實現多個選擇。如果您遵循大多數Windows用戶理解的標準,您將得到一個易於實現且易於使用的解決方案。

如果您確實需要更詳細的內容,您可能需要考慮開發自定義控件。