3
RichTextBox 컨트롤의 너비를 다시 계산해야하는이 프로그램을 만들고 있습니다. 문제는 계속해서 잘못 다시 계산된다는 것입니다. 올바른 수식을 사용하여 점을 인치로 변환 한 다음 인치를 픽셀로 변환 한 다음 픽셀을 곱하여 폭을 얻습니다. 아래 코드는 다음과 같습니다.문제가있는 경우 RichTextBox 컨트롤의 너비를 다시 계산하십시오.
foreach (RichTextBox r in panel1.Controls)
{
if (r.DisplayRectangle.IntersectsWith(contextMenuStrip1.DisplayRectangle))
{
Graphics gfx = this.CreateGraphics();
float dpix = gfx.DpiX;
float dpiy = gfx.DpiY;
int numofchars = r.TextLength;
float point = r.Font.SizeInPoints;
float inches = point/72;
float pixels = dpiy * inches;
float width = (pixels * numofchars);
r.Width = Convert.ToInt32(width);
}
}
감사합니다. 서브 루틴이 있다는 것을 몰랐습니다. 그것은 내 인생을 더욱 단순하게 만듭니다. –
도움이 된다니 기쁘다. –