C#设置ListBox宽度,使最长的项目适合

Ozz*_*zah 3 c# listbox winforms

我想设置我的ListBox.Width属性,使其不比需要更宽或更窄,以显示其中的项目.ListBox左边和文本开头之间有一些像素的边距 - 我希望右边有一个类似的边距.(即不应有很大的间隙,字母不应接触右边缘).

鉴于我不确定给定字符串的像素数,我不知道如何计算这个宽度.

小智 6

我相信你正在寻找Graphics类的MeasureString方法.

试试这个:

Graphics graphics = this.createGraphics();
SizeF mySize = graphics.MeasureString("Ahoy there", this.Font);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!