private Size MeasureTextSize() { var text = _labelTextBox.Text; var sizeTmp = Size.Empty; if (_direction == LabelEditDirection.UpDown) { sizeTmp = DiagramUtil.MeasureString(text, _labelElement.Font, _labelTextBox.Size.Width, _labelElement.Format); } else if (_direction == LabelEditDirection.Both) { sizeTmp = DiagramUtil.MeasureString(text, _labelElement.Font); } sizeTmp.Height += 30; return(sizeTmp); }
public static void SetTextBoxLocation(BaseElement el, TextBox tb) { if (!(el is ILabelElement)) { return; } var lab = ((ILabelElement)el).Label; el.Invalidate(); lab.Invalidate(); if (lab.Text.Length > 0) { tb.Location = lab.Location; tb.Size = lab.Size; } else { const string tmpText = "XXXXXXX"; var sizeTmp = DiagramUtil.MeasureString(tmpText, lab.Font, lab.Size.Width, lab.Format); if (el is BaseLinkElement) { tb.Size = sizeTmp; tb.Location = new Point(el.Location.X + (el.Size.Width / 2) - (sizeTmp.Width / 2), el.Location.Y + (el.Size.Height / 2) - (sizeTmp.Height / 2)); } else { sizeTmp.Width = el.Size.Width; tb.Size = sizeTmp; tb.Location = new Point(el.Location.X, el.Location.Y + (el.Size.Height / 2) - (sizeTmp.Height / 2)); } } SetTextBoxBorder(tb); }