如何更改树视图中复选框的默认图形大小?

Posted

技术标签:

【中文标题】如何更改树视图中复选框的默认图形大小?【英文标题】:How to change default graphic size of checkboxes in treeview? 【发布时间】:2014-08-14 09:33:23 【问题描述】:

我想在 Windows 窗体控件中使用 bigger checkboxes 自定义 treeview,以便在触摸屏上轻松操作。但是在 treeview 中 checkbox 控件的默认图形大小是 16x16。我为复选框创建了新的 32x32 位图,但结果与预期不符。

public TriStateTreeView() : base()
        
         CheckBoxState cbsState;
         Graphics gfxCheckBox;
         Bitmap bmpCheckBox;

            _ilStateImages = new ImageList();
            cbsState = CheckBoxState.UncheckedNormal;

            for (int i = 0; i <= 2; i++) 
                bmpCheckBox = new Bitmap(32, 32);
                gfxCheckBox = Graphics.FromImage(bmpCheckBox);
                switch (i) 
                    case 0: cbsState = CheckBoxState.UncheckedNormal; break;
                    case 1: cbsState = CheckBoxState.CheckedNormal; break;
                    case 2: cbsState = CheckBoxState.MixedNormal; break;
                
                CheckBoxRenderer.DrawCheckBox(gfxCheckBox, new Point(0, 0), cbsState);
                gfxCheckBox.Save();
                _ilStateImages.Images.Add(bmpCheckBox);
                _bUseTriState = true;
            
        

我该怎么做?如何调整复选框的树视图大小?

【问题讨论】:

你知道怎么做吗,我也遇到了同样的问题 【参考方案1】:

Treeview 中的复选框只是粘贴到表单的图像,它们不是具有所有功能的真正复选框(例如,您没有本机三态模式)。

您可以通过设置TreeView.StateImageList property 来更改树视图复选框的图像。

StateImageList 获取或设置用于指示 TreeView 及其节点状态的图像列表(MSDN)

// Create the StateImageList and add two images.
checkTreeView.StateImageList = new ImageList();
checkTreeView.StateImageList.Images.Add(SystemIcons.Question);
checkTreeView.StateImageList.Images.Add(SystemIcons.Exclamation);

【讨论】:

我有同样的问题,我设置了树视图的StateImageList 并设置了StateImageSize 属性,但是当我将大小设置为 32x32 时,有些东西会缩小图像 如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 我已经有一个问题了:***.com/questions/37291184/…

以上是关于如何更改树视图中复选框的默认图形大小?的主要内容,如果未能解决你的问题,请参考以下文章

当我取消选中自定义树视图中的子节点复选框时,如何取消选中所有父节点

如何使用wpf中的复选框开发树视图?

当我在表格视图的搜索栏中搜索时如何检索复选框按钮位置更改

在 C# 中,如何在加载树视图后将所有树节点设置为 true [重复]

如何更改 Bootstrap 复选框的大小?

MudTreeView - 如何更改复选框的大小和颜色?