所以我得到了一種方法,允許我根據另一個值調整標籤的大小。基本上有一個結果標籤,旁邊是「KB」標籤。例如:30000 KB'Control.CreateGraphics()'是一種方法,它在C#中的給定上下文中無效
所以我創造了這個的方法:
public void UpdateSizeKB()
{
lblKB.Show();
lblResultKB.Width = GetLabelsSize(lblResultKB.Text);
lblKB.Left = lblResultKB.Left + lblResultKB.Width + 5;
}
public int GetLabelsSize(string text)
{
return lblResultKB.CreateGraphics.MeasureString(text, lblResultKB.Font).Width() + lblResultKB.Margin.Left + lblResultKB.Margin.Right;
}
,我會打電話給窗體上的UpdateSizeKB()
。所以每次更改lblResultKB
時lblKB
都會改變它的位置。
但功能GetLabelsSize
實際上是不工作非常好,因爲它顯示在CreateGraphics
錯誤叫:
「Control.CreateGraphics()」是一種方法,它是不是在給定的情況下有效
你們有這個問題的解決方案嗎?能夠使這項工作
嘛,你不是要求它像一個方法,你想像字段或財產一樣訪問它。很可能你想要類似於'使用(var g = lblResultKB.CreateGraphics()){return g.MeasureString(...); }' –