/// <summary> /// ラベルタブの項目を更新する /// </summary> /// <param name="item">技術ラベル</param> private void UpdateLabelItems(TechLabel item) { // 編集項目の値を更新する labelNameTextBox.Text = item.ToString(); UpdateLabelPositionList(item); // 編集項目の色を更新する labelNameTextBox.ForeColor = item.IsDirty(TechItemId.Name) ? Color.Red : SystemColors.WindowText; }
/// <summary> /// 技術ツリーに技術ラベルを追加する /// </summary> /// <param name="item">追加対象の項目</param> /// <param name="position">追加対象の位置</param> private void AddLabelItem(TechLabel item, TechPosition position) { Label label = new Label { Location = new Point(DeviceCaps.GetScaledWidth(position.X), DeviceCaps.GetScaledHeight(position.Y)), BackColor = Color.Transparent, Tag = new TechLabelInfo { Item = item, Position = position } }; label.Size = Graphics.FromHwnd(label.Handle).MeasureString(item.ToString(), label.Font).ToSize(); label.Click += OnItemLabelClick; label.MouseClick += OnItemLabelMouseClick; label.MouseDown += OnItemLabelMouseDown; label.MouseUp += OnItemLabelMouseUp; label.MouseMove += OnItemLabelMouseMove; label.GiveFeedback += OnItemLabelGiveFeedback; label.Paint += OnTechLabelPaint; _pictureBox.Controls.Add(label); }