2

winforms にツリービューがあります。treenode をダブルクリックすると、その子ノードが消えます。再びそのノードをクリックすると、その子ノードが展開されます。どんな体でも助けてください。

4

1 に答える 1

4

ダブルクリックをすべて一緒に無効にしたい場合は、WM_LBUTTONDBLCLK (0x0203). MyTreeViewこれを行うには、メソッドを継承しSystem.Windows.Forms.TreeViewてオーバーライドするコントロールを作成しますWndProc(ref Message m)

 public class MyTreeView : TreeView
{
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == 0x203) { m.Result = IntPtr.Zero; } //Makes the control ignore double licks`
        else base.WndProc(ref m);
    }              
};

TreeViewこのソリューションは、すべてのコントロールのダブルクリックを完全に無効にします。それを受け入れることができれば、このソリューションで十分です。

于 2011-06-02T11:02:57.313 に答える