如何更改树视图中复选框的默认图形大小?
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/…以上是关于如何更改树视图中复选框的默认图形大小?的主要内容,如果未能解决你的问题,请参考以下文章
当我取消选中自定义树视图中的子节点复选框时,如何取消选中所有父节点