C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 77 を表示中)
■45232 / )  継承TreeNodeのDrag&Drop処理について
□投稿者/ neko (1回)-(2010/01/06(Wed) 20:58:25)

分類:[C#] 

TreeViewのTreeNodeに情報を追加したノードを使用しています。こんな感じです。
public class TreeNodeEx : TreeNode
{
  private bool isFlag;
  // 略(実際はもう少しあります)
} 

それで
http://support.microsoft.com/kb/307968/ja
を参考にドラッグ&ドロップに対応させたのですが、
普通のTreeNodeなら上手くいきましたが上記のTreeNodeExでは
DestinationNode.Nodes.Add()で登録されません。

private void treeView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
	TreeNodeEx NewNode;

	if(e.Data.GetDataPresent("Test.TreeNodeEx", false)) {
		Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
		TreeNodeEx DestinationNode = (TreeNodeEx)((TreeView)sender).GetNodeAt(pt);
		NewNode = (TreeNodeEx)e.Data.GetData("Test.TreeNodeEx");
		if(DestinationNode.TreeView != NewNode.TreeView)
		{     
			DestinationNode.Nodes.Add((TreeNodeEx) NewNode.Clone());
			DestinationNode.Expand();
			//Remove Original Node
			NewNode.Remove();
		}
	}
}

こういう使い方はできないものなんでしょうか?


返信 編集キー/


管理者用

- Child Tree -