Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Проблема с TextBox


Автор: Dimyan 30.1.2004, 14:16
Вот если TextBox взять и начать в него текст вписывать, тест когда не влезает в размер TextBoxa, начинает же какбы за за левым краем скрыватся, а вписывать текст программно, вот так:

Код
textBox1.Text += "12345";


то текст заполняет видимую область textBox и дальше не вписывается sad.gif
Помогите, что белать?

Автор: AntonSaburov 30.1.2004, 16:24
Цитата
то текст заполняет видимую область textBox и дальше не вписывается
Что-то тут непонятно. Попдробней бы проблему описать. Да и кода побольше бы. Может у тебя какое ограничение на длину поля введено ?

Автор: Dimyan 30.1.2004, 17:29
Да нет там ограничения!!!
Вот так это решается:

Во-первых, добавляешь в свою форму код что-то вроде:
Код
private void TxtChange(object sender, System.EventArgs e)
{
 textBox1.SelectionStart = textBox1.Text.Length;
 textBox1.SelectionLength = 0;
}


Этот обработчик события заставляет текущую позицию переместиться в конец строки textBox1.
Во-вторых, прицепляешь его к событию TextChanged, которое возникает при изменении текста textBox1. В текст метода InitializeComponent добавляешь строчку:
Код
this.textBox1.TextChanged += new System.EventHandler(this.TxtChange);

, которая связывает обработчик с событием.

Автор: AntonSaburov 30.1.2004, 17:54
Цитата
Да нет там ограничения!!!
Вот так это решается:


Так ты решил проблему ? И что это была за проблема ? Я-то просил понятнее проблему объяснить. По твоему объяснению получалось, что больше пяти символов в поле не добавить. Судя по второму сообщению ты хотел добавить дополнительную строку в конец.

В следующий раз прежде чем задавать вопрос - постарайся сформулировать понятнее. Мы же тут все не экстрасенсы smile.gif

Хотя все равно спасибо, что рассказал о найденом решении.

Автор: Dimyan 31.1.2004, 08:43
Да нет, 5 символов это пример на нем не надо зацикливатся.
Извиняюсь что непонятно изяснил проблему, сейчас все исправлю (лучше поздно чем никогда ;))
Проблема была такая:
я хотел, чтобы по мере роста длины строки мой TextBox должен проворачиваться влево таким образом, чтобы окончание строки было всегда видно, а начало может скрыться влево. Так и происходит при ручном вводе текста, а при програмном нет, а решается как показано выше, может кому пригодится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)