コード例 #1
0
 public void EditCurrentNode()
 {
     foreach (NodeControlInfo item in GetNodeControls(CurrentNode))
     {
         EditableControl editableControl = item.Control as EditableControl;
         if (editableControl != null)
         {
             editableControl.BeginEdit();
             break;
         }
     }
 }
コード例 #2
0
        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);
                }
            }
        }