/// <summary> /// 填充 /// </summary> private void Fill(string id) { panel2.Controls.Clear(); if (_JMDT == null) { return; } int len = id.Length + leve; for (int i = 0; i < _JMDT.Rows.Count; i++) { if (_JMDT.Rows[i][_JMBHLie].ToString().Length != len) { continue; } if (_JMDT.Rows[i][_JMBHLie].ToString().StartsWith(id)) { //定义控件 ComboTreeNode jmlb = new ComboTreeNode(); jmlb.ForeColor = Color.FromArgb(0, 133, 0); jmlb.Name = "Label" + (i + 1).ToString(); jmlb.ZID = _JMDT.Rows[i][_JMBHLie]; jmlb.ZText = _JMDT.Rows[i][_JMNameLie].ToString(); jmlb.IsExpland = _JMDT.Select(JMBHLie + " like '" + jmlb.ZID + "%' and len(" + JMBHLie + ")=" + (len + leve) + "").Length < 1; jmlb.Margin = new Padding(15, 15, 0, 0); //事件 jmlb.TextSelected += new MouseEventHandler(jmlb_TextSelected); jmlb.Explaned += new MouseEventHandler(jmlb_Explaned); jmlb.MouseClick += new MouseEventHandler(jmlb_MouseClick); jmlb.MouseDownMinut += new EventHandler(jmlb_MouseDownMinut); //添加控件 panel2.Controls.Add(jmlb); } } }
/// <summary> /// 单击展开 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void jmlb_Explaned(object sender, MouseEventArgs e) { ComboTreeNode cbtnoed = sender as ComboTreeNode; Label lab = new Label(); lab.AutoSize = true; lab.Margin = new Padding(3, 10, 0, 0); lab.Text = cbtnoed.ZText.ToString() + ">"; lab.Tag = cbtnoed.ZID; lab.Cursor = Cursors.Hand; lab.ForeColor = Color.FromArgb(0, 133, 0); lab.Click += new EventHandler(lab_Click); flowLayoutPanel1.Controls.Add(lab); Fill(cbtnoed.ZID.ToString()); }