TreeView 原生節點不支援直接嵌入可編輯控件,需自訂繪製或使用 UserControl 承載。
public class NodeControl : UserControl {
public TextBox Txt { get; private set; }
public Button Btn { get; private set; }
public NodeControl() {
Txt = new TextBox { Dock = DockStyle.Fill };
Btn = new Button { Text = "儲存", Dock = DockStyle.Right, Width = 60 };
Controls.Add(Txt); Controls.Add(Btn);
Btn.Click += (s,e) => { /* 儲存 Txt.Text */ };
}
}
TreeView 不直接支援 Control 宿主,常見變通:
AdvancedTreeView、TreeViewAdv 等支援節點編輯模板的庫。HierarchicalDataTemplate 嵌入任意控件,建議遷移 WPF。WinForms 原生 TreeView 節點編輯僅支援簡單文字編輯 (LabelEdit=true),複雜交互請用 WPF 或第三方庫。