根据控件大小进行截断
private void SetStringTruncat(Static.LabelEx lbl) { string oldStr = lbl.Text; if (string.IsNullOrEmpty(oldStr)) return; Graphics g = lbl.CreateGraphics(); string strNewStr = string.Empty; for (int i = 0; i < oldStr.Length; i++) { strNewStr = oldStr.Substring(0, oldStr.Length - i) + "…"; SizeF sizeF = g.MeasureString(strNewStr, lbl.Font, 1000, StringFormat.GenericTypographic); if (sizeF.Width <= lbl.MaximumSize.Width - 20) { break; } } g.Dispose(); if (strNewStr == oldStr + "…") strNewStr = oldStr; lbl.Text = strNewStr; }