Double-click the node of TreeView to make the unfolded subpost

xiaoxiao2021-03-06  41

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 {///

/// Form1. /// public class form1: system.windows.forms.form {private system.windows.forms.treeview TreeView1; /// // / / The designer variable. /// private system.componentmodel.container components = null;

Public Form1 () {// // Windows Form Designer Support for // InitializeComponent ();

// // Todo: Add any constructor code after INITIALIZEComponent call //}

///

/// Clean all the resources being used. /// Protected Override Void Dispose (Bool Disposing) {if (disponents! = Null) {components.dispose ();}} Base.Dispose (4);

#REGION Windows Form Designer The code ///

/// designer supports the required method - do not use the code editor to modify the // / this method.

/// 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

///

/// The primary entry point of the application. /// [stathread] static void main () {Application.run (new form1 ());}

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;}}}

转载请注明原文地址:https://www.9cbs.com/read-77780.html

New Post(0)