Sometimes we don't satisfy the double-click default operation of the tree control. For example, we don't want to turn off or close its child nodes when you double-click a child node, you want to perform a specific action, how can you write, I have a way here to do this:
Using system.drawing; using system.componentmodel; using system.windows.form; using system.data ;. using system.data ;. USING SYSTEM.DATA;
A summary description of Namespace TreeViews {///
Public Form1 () {// // Windows Form Designer Support for // InitializeComponent ();
// // Todo: Add any constructor code after INITIALIZEComponent call //}
///
#REGION Windows Form Designer The code ///
/// summary> private vid initializecomponent () {this.treeView1 = new system.windows.forms.treeview (); this.suspendlayout (); // // TreeView1 // this.treeView1.imageIndex = -1; this.treeView1.Location = new System.Drawing.Point (8, 8); this.treeView1.Name = "treeView1"; this.treeView1.Nodes.AddRange (new System.Windows.Forms.TreeNode [] {new System. Windows.Forms.treenode ("Node 0"), New System.Windows.Forms.treenode ("Node 1", New System.Windows.Forms.Treenode [] {new system.windows.forms.treenode ("Node 0" New system.windows.Forms.treenode [] {new system.windows.forms.treenode ("Node 1", new system.windows.forms.treenode [] {new system.windows.Forms.treenode ("Node 2" New system.windows.forms.treenode [] { New system.windows.Forms.treenode ("Node 8")})}), new system.windows.Forms.treenode ("Node 3", New System.Windows.Forms.Treenode [] {new system.windows.Forms .Treenode ("Node 4", New System.Windows.Forms.treenode [] {new system.windows.forms.treenode ("Node 9")})}, new system.windows.forms.treenode ("Node 5 "
New system.windows.forms.treenode [] {new system.windows.forms.treenode ("Node 6", New System.Windows.Forms.Treenode [] {new system.windows.Forms.treenode ("Node 7" )})})})}), New system.windows.Forms.treenode ("Node 2", new system.windows.forms.treenode [] {new system.windows.forms.treenode ("Node 0")} New system.windows.forms.treenode ("Node 3")}; this.treeView1.selectedImageIndex = -1; this.treeView1.size = new system.drawing.size (216, 232); this.treeView1. TabIndex = 0; this.treeView1.Click = new System.EventHandler (this.treeView1_Click); this.treeView1.BeforeCollapse = new System.Windows.Forms.TreeViewCancelEventHandler (this.treeView1_BeforeCollapse); this.treeView1.BeforeExpand = new System.windows.Forms.TreeViewCancele VENTHANDLER (THIS.TREEVIEW1_BEFOREEXPAND); // // form1 // this.autoscalebasesize = new system.drawing.size (6, 14); this.clientsize = new system.drawing.size (256, 266); this.Controls. Add (THIS.TREEVIEW1); this.name = "form1"; this.text = "form1"; this.ResumeLayout (false);} #ENDREGION
///
Private void TreeView1_AFTERSELECT (Object Sender, System.Windows E) {string path = NULL;
Treenode node = this.treeView1.selectedNode; if (node! = Null) {path = node.text; while (node.parent! = Null) {node = node.parent; Path = node.text "//" PATH;}}} private bool tmpBool; // Used to determine if the node of the tree is turned on or off
private void treeView1_Click (object sender, System.EventArgs e) {object tmpObj = this.treeView1.GetNodeAt (this.treeView1.PointToClient (Cursor.Position)); if (! tmpObj = null) {if ((tmpObj as TreeNode). Bounds.contains (this.treeview1.pointtoclient (cursor.position))) {tmpBool = true;}}}
private void treeView1_BeforeExpand (object sender, System.Windows.Forms.TreeViewCancelEventArgs e) {if (tmpBool) {e.Cancel = tmpBool;} tmpBool = false;} private void treeView1_BeforeCollapse (object sender, System.Windows.Forms.TreeViewCancelEventArgs e) {IF (tmpBool) {E.cancel = tmpBool;} TmpBool = false;}}}