[英].NET TreeView control with checkboxes
TreeView控件具有復選框屬性,但它在每個節點上放置一個復選框。 如何在我想要的節點上放置一個復選框?
為此目的使用StateImageList和TreeNode.StateImageIndex 。 當用戶單擊狀態圖像時,您還需要訂閱MouseDown事件並更改檢查狀態(狀態圖像)。 通過使用此方法,您還可以模擬三態復選框。
實際上,內部TreeView實現實際上使用相同的methodique但這對你來說是隱藏的。
基於CheckBoxState為ImageList創建圖像的方法:
private Image CreateCheckBoxGlyph(CheckBoxState state)
{
Bitmap Result = new Bitmap(imlCheck.ImageSize.Width, imlCheck.ImageSize.Height);
using (Graphics g = Graphics.FromImage(Result))
{
Size GlyphSize = CheckBoxRenderer.GetGlyphSize(g, state);
CheckBoxRenderer.DrawCheckBox(g,
new Point((Result.Width - GlyphSize.Width) / 2, (Result.Height - GlyphSize.Height) / 2), state);
}
return Result;
}
我放棄了TreeView,因為它是有限的和錯誤的。
您應該能夠使用開源TreeViewAdv開箱即用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.