Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 12:33   #1
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию Реальное количество строк в textbox.

Столкнулся с не очень понятной вещью. Textbox фиксированного размера. Заполняю его строками неизвестной длины( с \r\n и т.д.). WordWrap = true. Т.е. в textBox1.Lines.Length может быть 1 строка,а отображается,как 2-3. Отсюда неясно как сделать появление-скрытие скроллбара.. Вот обработчик,который есть:
Код:
 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            int textBoxLinesVisible = textBox1.ClientSize.Height / textBox1.Font.Height ;
            if (textBox1.Lines.Length > textBoxLinesVisible)
            {
                textBox1.ScrollBars = ScrollBars.Vertical;
            }
            else
                textBox1.ScrollBars = ScrollBars.None;
        }
Фактически мне надо знать сколько строчек сейчас отображено по факты. Подскажите,как это узнать? Парсить?
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 28.07.2010, 12:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
textBox1.Lines.Count()
спасет отца русской демократии
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2010, 15:43   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Что-то не получается.
Код:
 int textBoxLinesVisible = textBox1.ClientSize.Height / textBox1.Font.Height-1 ;
            int i = Convert.ToInt32(textBox1.Lines.Count());
            if (i > textBoxLinesVisible)
            {
                textBox1.ScrollBars =ScrollBars.Vertical;
            }
            else
                textBox1.ScrollBars = ScrollBars.None;
            textBox1.Refresh();
З.Ы. Вот в этом и проблема.У меня есть строка,она отображается в окне,как три из-за WordWrap...бред...(
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 28.07.2010 в 15:58.
Скарам вне форума Ответить с цитированием
Старый 28.07.2010, 17:57   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Подойдем к вопросу с другой стороны.
Ты хочешь прятать скролл, если он не надо, так?
А зачем? Обычно это больше напрягает, когда что-то на экране прыгает. Тем более надо учитывать размеры шрифта пользователя. В принципе вот пример на VB:
Код:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Dim Chr As Integer

Dim Lines As Integer

Me.CreateGraphics.MeasureString(TextBox1.Text, TextBox1.Font, New SizeF(TextBox1.Width, TextBox1.Height), New StringFormat(StringFormatFlags.FitBlackBox), Chr, Lines)

MsgBox(Lines.ToString)

End Sub
Но не думаю, что над этим стоит заморачиваться.
Hollander вне форума Ответить с цитированием
Старый 29.07.2010, 08:03   #5
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Хочется сделать так,что эээххх!...а пока получается ээхх!...поэтому и хотел появление-скрытие скролла,он нужен достаточно редко..
Цитата:
Но не думаю, что над этим стоит заморачиваться.
Так же подумал,попробую пример на VB,если не получится-забуду про это..))
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество строк в файле Demien Общие вопросы Delphi 3 17.08.2009 18:48
Количество строк Яр|/||< (^_^) Общие вопросы Delphi 2 31.07.2009 07:32
количество строк ciaonataha Общие вопросы C/C++ 3 05.05.2009 16:31
Количество строк delphin100 Общие вопросы Delphi 2 26.03.2009 11:58
Количество строк DBGrid AndreyF Общие вопросы Delphi 4 02.12.2008 21:32