У меня есть текст, и, чтобы подчеркнуть его, я хотел бы нарисовать фон в виде прямоугольника.
Я пытаюсь это сделать:
string curEdgePhrase = "Cur edge:";
SizeF curEdgePhraseSize = e.Graphics.MeasureString(curEdgePhrase, SystemFonts.DefaultFont);
string curEdgeValue = ((int)m_ImageStatForCurSelectedRegion.GetEdginess()).ToString();
SizeF curEdgeValueSize = e.Graphics.MeasureString(curEdgeValue, SystemFonts.DefaultFont);
string maxEdgePhrase = "Max edge:";
SizeF maxEdgePhraseSize = e.Graphics.MeasureString(maxEdgePhrase, SystemFonts.DefaultFont);
string maxEdgeValue = ((int)m_ImageStatForCurSelectedRegion_MaxValues.GetEdginess()).ToString();
SizeF maxEdgeValueSize = e.Graphics.MeasureString(maxEdgeValue, SystemFonts.DefaultFont);
SizeF fullValuesArea = new SizeF(curEdgePhraseSize.Width + curEdgeValueSize.Width /*Width*/,
curEdgePhraseSize.Height + maxEdgePhraseSize.Height /*Height*/);
///***Draw statistic background rectangle***
Point statisticBackgroundRectStartPoint = new Point(10, 10);
Rectangle statisticBackground = new Rectangle(statisticBackgroundRectStartPoint, fullValuesArea.ToSize());
e.Graphics.DrawRectangle(DrawBorderStatisticBackground, statisticBackground);
e.Graphics.FillRectangle(BrushWhiteSmoke, statisticBackground);
Итак, я я измеряю длину и ширину фразы + значения и пытаюсь установить ее как размер моего прямоугольника
Я в результате получаю что-то вроде этого
Do you see this gray rectangle behind the Cur
word? This is a result...
But what I actually need is
введите описание изображения здесь
Но этот результат я получаю, если пропущу жестко заданный размер ..
Что я делаю не так?