Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Реализация AutoScroll в TextBox

242
10 марта 2006 года
Оlga
2.2K / / 04.02.2006
Возникли следущие проблемы:

1) При реалезации AutoScroll в ТextBox скроллы появляются сразу даже когда в них нет никакой необходимости. Можно ли это изменить? Чтобы они появлялись только в том случае если текст выходит за пределы TextBox.

2)Нужно в момент изменения текста в TextBox сравнить длину текста с длиной TextBox(свойство width) и если длина текста больше длины TextBox тогда соответственно подогнать свойство width чтобы виден был весть текст.

Заранее благодарю.;)
1.9K
10 марта 2006 года
mail0
137 / / 09.05.2005
Цитата:
Originally posted by OlgaKr
Возникли следущие проблемы:

1) При реалезации AutoScroll в ТextBox скроллы появляются сразу даже когда в них нет никакой необходимости. Можно ли это изменить? Чтобы они появлялись только в том случае если текст выходит за пределы TextBox.

2)Нужно в момент изменения текста в TextBox сравнить длину текста с длиной TextBox(свойство width) и если длина текста больше длины TextBox тогда соответственно подогнать свойство width чтобы виден был весть текст.

Заранее благодарю.;)


2)

 
Код:
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            SizeF size = textBox1.CreateGraphics().MeasureString(textBox1.Text, textBox1.Font);
            if (size.Width > 3)
                textBox1.Width = (int)size.Width;
        }
242
10 марта 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by mail0
2)
 
Код:
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            SizeF size = textBox1.CreateGraphics().MeasureString(textBox1.Text, textBox1.Font);
            if (size.Width > 3)
                textBox1.Width = (int)size.Width;
        }



To mail0 cпасибо большое за помощь!:)

Цитата:

1) При реалезации AutoScroll в ТextBox скроллы появляются сразу даже когда в них нет никакой необходимости. Можно ли это изменить? Чтобы они появлялись только в том случае если текст выходит за пределы TextBox.


Применила вышеуказанный код для данный проблемы следующим образом :

 
Код:
private void txtFrom_TextChanged(object sender, System.EventArgs e)
{
 SizeF size = this.txtFrom.CreateGraphics().MeasureString(this.txtFrom.Text,this.txtFrom.Font);
 if((int)size.Width > this.txtFrom.Width)
    this.txtFrom.ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;
 else          
   this.txtFrom.ScrollBars = System.Windows.Forms.ScrollBars.None;     
}


В Properties установила значения для нижеуказанных свойств:
txtFrom.Multiline : true
txtFrom.WordWrap : false
txtFrom.ScrollBars: None (it is a default value)

Если есть более правильный путь для решения данного вопроса буду благодарна если подскажите. :}
273
11 марта 2006 года
3A3-968M
1.2K / / 22.12.2005
Можно решить данную проблему нестандартным способом. С помощью свойства Controls узнать о ScrollBar'ах, их там два - экземпляры VScrollBar и HScrollBar. Если текст вмещается в поле, то как можно заметить из поведения скролов, их состояние Enabled равно false. Как только текст вылазит за границы, Enabled приобретает значение true. Можно оследить это дело на событие TextChanged, и сделать ScrollBar.Visible=ScrollBar.Enabled. Попробуй:) попытка не пытка
242
11 марта 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by 3A3-968M
Можно решить данную проблему нестандартным способом. С помощью свойства Controls узнать о ScrollBar'ах, их там два - экземпляры VScrollBar и HScrollBar. ...



Я уже пробовала найти скролы при поможи Соntrols, ничего не получилось. Может делаю что-то не так?

 
Код:
this.textBox1.Controls. ...

Не нашла я там никаких скроллов.


Спасибо за помощь! :)
273
12 марта 2006 года
3A3-968M
1.2K / / 22.12.2005
Используй вместо TextBox компонент RichTextBox - там скроллы появляются только тогда, когда это нужно.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог