我有以下代碼來創建一個Label
上PictureBox
:MeasureString()不返回足夠的寬度
Label l = new Label();
l.Text = _name;
l.Size = CreateGraphics().MeasureString(_name, l.Font).ToSize();
l.BackColor = Color.White;
但標籤老是掉線的最後一個字符。如果我添加一個字符的電話:
l.Size = CreateGraphics().MeasureString(_name+".", l.Font).ToSize();
它工作正常,但這並不正確。
標籤中的文本之前似乎有一些空白,但Padding
設置爲0.我該如何解決這個問題?
你需要的大小的標籤? AutoSize屬性有什麼問題嗎?你最好不要使用標籤(因爲它在一個圖片框上,你可以直接畫到圖片框) –
你是對的,'AutoSize'屬性工作正常。謝謝! –
爲了將來的參考,Label控件需要TextRenderer.MeasureText(),因爲它使用TextRenderer.DrawText()繪製文本,而不是Graphics.DrawString()。 –