我有一个TreeView
填充有TreeNodes
有图标和复选框。
我一直在尝试禁用其中一些人的检查/取消检查能力,从而丢弃事件中的事件BerforeCheck
方法。这工作正常,直到我双击复选框:复选框的图像与其真实状态相反(如果状态为Checked=false
)。我尝试修复手动更改 StateImageIndex 的问题NodeDoubleClick
and BeforeClick
方法没有成功。
更糟糕的是:我在StateImageList
(是的,我也希望复选框为三态)但我还没有使用它(它从未在我的代码中设置),并且在双击后第三个图像被设置为框的当前状态(在这一点我无法确定一个明确的行为)。
我怎样才能最好地使其按预期工作,最坏地禁用双击复选框?
谢谢。
PS:问题有已经被问过 https://stackoverflow.com/questions/3643630/phantom-second-click-for-winforms-treeview-checkbox,却没有得到答案……
试试这个..:)对我有用
public class NewTreeView : TreeView
{
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x203)
m.Result = IntPtr.Zero;
else
base.WndProc(ref m);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)