2

これは理論上の質問なので、コードはありません(申し訳ありません)。ユーザーが特定のノードを選択したときに、TreeViewコントロールの選択されたノードの位置(XとYの値)を取得したいと思います。インテリセンスを参照しましたが、「場所」や「位置」などのタグはありません。これを達成する方法は?実際、選択したノードの横に動的ボタンとtextBoxを追加しようとしているので、ノードの位置が必要です。

助けてください。

4

3 に答える 3

5

TreeView.SelectedNode.Bounds.X(X位置の場合)と(Y位置の場合)を使用してこれを解決し、TreeView.SelectedNode.Bounds.Yこれらの動的コントロールをパネルに保持しました。

  int DistanceFromNode = 250;
  MyPanel.SetBounds(MyTreeview.SelectedNode.Bounds.X + DistanceFromNode,
        MyTreeview.SelectedNode.Bounds.Y, MyPanel.Width, MyPanel.Height);

これにアプローチする他の方法は大歓迎です。

于 2012-10-25T12:53:43.867 に答える
0

ユーザーがツリービューをスクロールすると、その位置が変更されます。IMO では、選択したノードの場所に描画するのではなく、DrawNode イベントでツリー ノードの外観をカスタマイズすることをお勧めします。

その場合、ノードが選択されているかどうかを確認してから、追加のボタンを描画できます。このようにして、ボタンはツリービューの残りの部分と一緒にスクロールします。

例は次のとおりです。

http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.rawode.aspx

于 2012-10-25T12:28:30.103 に答える