public void EditCurrentNode() { foreach (NodeControlInfo item in GetNodeControls(CurrentNode)) { EditableControl editableControl = item.Control as EditableControl; if (editableControl != null) { editableControl.BeginEdit(); break; } } }
private void treeView_Click(object sender, EventArgs e) { MouseEventArgs m = e as MouseEventArgs; if (m == null || m.Button != MouseButtons.Right) { return; } NodeControlInfo info = treeView.GetNodeControlInfoAt(new Point(m.X, m.Y)); if (info.Control != null) { SensorNode node = info.Node.Tag as SensorNode; if (node != null && node.Sensor != null) { sensorContextMenuStrip.Items.Clear(); if (node.Sensor.Parameters.Length > 0) { ToolStripMenuItem item = new ToolStripMenuItem("Parameters..."); item.Click += delegate(object obj, EventArgs args) { ShowParameterForm(node.Sensor); }; sensorContextMenuStrip.Items.Add(item); } EditableControl control = info.Control as EditableControl; if (control != null) { ToolStripMenuItem item = new ToolStripMenuItem("Rename"); item.Click += delegate(object obj, EventArgs args) { control.BeginEdit(); }; sensorContextMenuStrip.Items.Add(item); } if (node.IsVisible) { ToolStripMenuItem item = new ToolStripMenuItem("Hide"); item.Click += delegate(object obj, EventArgs args) { node.IsVisible = false; }; sensorContextMenuStrip.Items.Add(item); } else { ToolStripMenuItem item = new ToolStripMenuItem("Unhide"); item.Click += delegate(object obj, EventArgs args) { node.IsVisible = true; }; sensorContextMenuStrip.Items.Add(item); } if (systemTray.Contains(node.Sensor)) { ToolStripMenuItem item = new ToolStripMenuItem("Remove From Tray"); item.Click += delegate(object obj, EventArgs args) { systemTray.Remove(node.Sensor); }; sensorContextMenuStrip.Items.Add(item); } else { ToolStripMenuItem item = new ToolStripMenuItem("Add To Tray"); item.Click += delegate(object obj, EventArgs args) { systemTray.Add(node.Sensor, true); }; sensorContextMenuStrip.Items.Add(item); } sensorContextMenuStrip.Show(treeView, m.X, m.Y); } } }