1
예를 들어, .Name
, .Text
필드가 있습니다. Type
, Path
및 Direction
필드가 필요한 경우 어떻게하면 TreeNode
클래스에 추가 할 수 있습니까?TreeNode 객체에 새 필드를 추가하는 방법은 무엇입니까?
예를 들어, .Name
, .Text
필드가 있습니다. Type
, Path
및 Direction
필드가 필요한 경우 어떻게하면 TreeNode
클래스에 추가 할 수 있습니까?TreeNode 객체에 새 필드를 추가하는 방법은 무엇입니까?
의도 한대로 만족합니까? 이 속성을 속성으로 표시했지만 {get; set;}을 생략하면 필드가 생깁니다.
class myTreeNode : System.Windows.Forms.TreeNode
{
public string NodeType { get; set; }
public string NodePath { get; set; }
public string Direction { get; set; }
}
가 트 리뷰에 myTreeNode 인스턴스를 추가하려면이 작업을 수행 할 것 :
myTreeNode node = new myTreeNode();
treeview1.Nodes.Add(node);
당신이 상속 된 노드에서 직접이를 저장하는 대신 태그 속성을 사용하려면 (보여주는 두
class NodeTag
{
public NodeTag(string path, string direction)
{
NodePath = path;
Direction = direction;
}
public string Direction {get;set;}
}
다음 속성 대신 3), 트리를 생성 코드에서, 당신은이 작업을 수행 할 수 있습니다 :
TreeNode node = new TreeNode();
node.Tag = new NodeTag("my path", "South");
treeView1.Nodes.Add(node);
당신이 말한 것처럼'myTreeNode' 클래스를 만들거나'TreeView.Tag' 속성에 필요한 모든 필드를 가진 객체에 대한 참조를 저장하는 것이 더 낫지는 않습니까? –
및이 코드의 모든 필드를 초기화하는 생성자가 필요합니까? –
http://msdn.microsoft.com/en-us/library/system.windows.forms.treenode.tag.aspx를 읽으면 태그 속성이 노드에 대한 추가 데이터를 보유하고 있음을 알 수 있습니다. 예, 생성자에서 초기화 할 수 있습니다. 당신은 그것들을 읽기 전용 속성으로 만들고 생성자에서만 그것들을 설정할 수 있습니다. 그러나 처음에 요청한 것처럼 TreeNode의 필드로 설정하려는 상황이있을 수 있습니다. –