我有一个TreeView填充TreeNodes有图标和复选框.
我一直在尝试禁用其中一些在BerforeCheck方法中丢弃事件的checkig / unchecking功能.这样工作正常,直到我双击复选框:复选框的图像与其实际状态相反(如果状态为Checked = false,则显示复选标记).我试图修复在NodeDoubleClick和BeforeClick方法中手动更改StateImageIndex但没有成功.
更糟糕的是:我在StateImageList中添加了第三个图像(是的,我希望复选框也是三态)但我还没有使用它(它从未在我的代码中设置),第三个图像被设置为当前一些双击后的状态(此时我无法确定明确的行为).
我怎么能最好让它按预期工作,最坏的情况是禁用双击复选框?
谢谢.
PS:问题有already been asked,但没有回答……
解决方法:
试试这个.. :)为我工作
public class NewTreeView : TreeView
{
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x203)
m.Result = IntPtr.Zero;
else
base.WndProc(ref m);
}
}