Determine Label Size based upon amount of text and font size in Winforms/C#

前端 未结 11 1768
半阙折子戏
半阙折子戏 2020-11-30 01:27

I\'d like to know if there\'s a better approach to this problem. I want to resize a label (vertically) to accomodate certain amount of text. My label has a fixed width (abou

11条回答
  •  猫巷女王i
    2020-11-30 02:29

    How about Graphics.MeasureString, with the overload that accepts a string, the font, and the max width? This returns a SizeF, so you can round round-off the Height.

            using(Graphics g = CreateGraphics()) {
                SizeF size = g.MeasureString(text, lbl.Font, 495);
                lbl.Height = (int) Math.Ceiling(size.Height);
                lbl.Text = text;
            }
    

提交回复
热议问题