簡體   English   中英

帶有復選框的.NET TreeView控件

[英].NET TreeView control with checkboxes

TreeView控件具有復選框屬性,但它在每個節點上放置一個復選框。 如何在我想要的節點上放置一個復選框?

為此目的使用StateImageListTreeNode.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM