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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2010, 10:56   #1
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию КАК в Listbox выровнять строку отдельнию

КАК в Listbox выровнять строку отдельную по правому краю?
Linore вне форума Ответить с цитированием
Старый 10.03.2010, 12:06   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Сделать его OwnerDraw и рисовать как душе угодно. Хоть вертикальный текст
pu4koff вне форума Ответить с цитированием
Старый 10.03.2010, 14:23   #3
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

вопрос по другому у меня есть строка какая-то мне надо ее выровнять по правому краю как это сделать
Linore вне форума Ответить с цитированием
Старый 10.03.2010, 15:33   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Linore Посмотреть сообщение
вопрос по другому у меня есть строка какая-то мне надо ее выровнять по правому краю как это сделать
Сделать ListBox OwnerDraw (DrawMode = OwnerDrawFixed) и рисовать все элементы ручками. Для всех использовать стандартную прорисовку, а для нужного уже свой код писать:
Код:
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
            e.DrawBackground(); // рисуем фон элемента

            StringFormat format = new StringFormat(StringFormat.GenericDefault); // создаем формат вывода текста

            if (e.State == DrawItemState.None) // строка не выделена
            {
                format.Alignment = StringAlignment.Near;  // выравнивание слева
            }
            else
            {
                format.Alignment = StringAlignment.Far;  // выравнивание справа
            }

            e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, Brushes.Black, e.Bounds, format); // выводим строку на экран

            e.DrawFocusRectangle(); // рисуем прямоугольник выделения
        }
Этот код будет выводить все строки с выравниванием слева, а выделенную строку - справа
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23
Как при нажатии на строку в Listbox передавать нажатую строку в переменную Михаил Юрьевич Общие вопросы Delphi 5 16.03.2009 12:59
ListBox ----- выполнить выделенную строку! Disday Общие вопросы Delphi 13 05.11.2008 20:37
Как найти нужную строку в ListBox? DelphiKettle Помощь студентам 2 05.09.2007 22:02
StringGrid как выровнять по центру и по правому краю? MAcK Компоненты Delphi 5 03.09.2007 14:11