использую .Net Framework (compact Edition) для мобильного приложения.
На форме есть TextBox, который должен растягиваться в случаях, когда строка превышает ширину элемента.
Параметры в дизайнере у элемента TextBox :
this.txbValue.Location = new System.Drawing.Point(6, 21);
this.txbValue.Multiline = true;
this.txbValue.Name = "txbValue";
this.txbValue.Size = new System.Drawing.Size(231, 22);
Растягивать я пробовал так:
private void txbValue_TextChanged(object sender, EventArgs e)
{
UpdateValuesList();
using (Graphics gr = ((TextBox)sender).CreateGraphics())
{
((TextBox)sender).Height = (int)gr.MeasureString(((TextBox)sender).Text, Font).Height;
}
}
Но это не сработало.
Подскажите как правильно растягивать TextBox в случаях, если строка больше ширины элемента?
Ты меряешь и изменяешь ВЫСОТУ, а не ширину.
private void txbValue_TextChanged(object sender, EventArgs e)
{
var sndr = (TextBox)sender;
UpdateValuesList();
using (Graphics gr = Graphics.FromImage(new Bitmap(1, 1)))
{
SizeF size = gr.MeasureString(sndr.Text, sndr.Font, GraphicsUnit.Point));
sndr.Width = size.Width;
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости