gre*_*eth 4 c# checkbox treeview treenode double-click
我TreeView到处TreeNodes都有图标和复选框。
我一直在尝试禁用某些对象的checkig / unchecking功能,从而放弃了该BerforeCheck方法中的事件。效果很好,直到我双击复选框:复选框的图像与其实际状态相反(如果状态为,则显示一个复选标记Checked=false)。我试图解决在NodeDoubleClickand BeforeClick方法中手动更改StateImageIndex的问题,但没有成功。
更糟糕的是:我在中添加了第三张图片StateImageList(是的,我也希望复选框也处于三态),但是我还没有使用它(我的代码中从未设置过),并且第三张图片被设置为当前状态双击后的框(此时我无法确定明确的行为)。
我怎样才能最好地使其如预期的那样工作,最糟糕的是禁用复选框的双击?谢谢。
PS:这个问题已经被提出了,但是没有答案...
小智 5
试试这个.. :)为我工作
public class NewTreeView : TreeView
{
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x203)
m.Result = IntPtr.Zero;
else
base.WndProc(ref m);
}
}
Run Code Online (Sandbox Code Playgroud)