だから私はブログ・オ・スフィアでこれについて多くの話を見てきた.
あなたが持っているTreeView
としましょうCheckBoxes
...
Double-click
CheckBox
の1 つをオンにしてNodes
、もう一度ボックスをクリックします... 状態が適切に変化していないように見えることに気付くでしょう。
これはbug
?? 私は常に「バグ」を見つけたと言うことに慎重です.NET
...
問題を再現すると、これは間違いなくバグ* (意図的なアスタリスク) であることがわかります。TreeView でチェックされていないチェック ボックスをダブルクリックすると、次のようなコードが呼び出されるためです。
For Each node As TreeNode In Me.TreeView1.Nodes
Console.WriteLine("{0}: {1}", node.Name, node.Checked)
Next
視覚的にはチェックされていませんが、ノードはまだチェックされていると認識しています。私はいくつかのことが起こっているのを見ることができます:
私の結論は、どういうわけか、ダブルクリックするとチェックボックスがフォーカスされ、2回目のマウスクリックがツリーノードに送信されずにチェックボックスに送信されるため、チェックボックスがオフになり、ツリーノードが何もないということです。賢い。
※これはあってはならない動作であり、分類の仕方はマイクロソフトに任せます。