Многострочный ListBox в .Net
От: mbrodin Украина  
Дата: 22.07.04 13:27
Оценка:
Как организовать subj? Есть ли стандартные методы? Или нужно обязательно перехватывать DrawItem и MeasureItem и рисовать ручками?
... << RSDN@Home 1.1.4 beta 2 >>

22.07.04 17:35: Перенесено модератором из '.NET' — AndrewVK
Re: Многострочный ListBox в .Net
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.07.04 13:38
Оценка:
Здравствуйте, mbrodin, Вы писали:

M>Как организовать subj? Есть ли стандартные методы?


Есть. ListView
... << RSDN@Home 1.1.4 beta 2 >>
AVK Blog
Re[2]: Многострочный ListBox в .Net
От: mbrodin Украина  
Дата: 22.07.04 14:46
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Все это конечно интересно, но он большую строку обрезает и ставит три точки, а надо чтобы переносил на следующую строчку...


AVK>Есть. ListView
... << RSDN@Home 1.1.4 beta 2 >>
Re[3]: Многострочный ListBox в .Net
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.07.04 14:58
Оценка:
Здравствуйте, mbrodin, Вы писали:

M>Все это конечно интересно, но он большую строку обрезает и ставит три точки, а надо чтобы переносил на следующую строчку...


Если нужны переносы и строки разной высоты то только ListBox и OwnerDraw.
... << RSDN@Home 1.1.4 beta 2 >>
AVK Blog
Re[4]: Многострочный ListBox в .Net
От: mbrodin Украина  
Дата: 22.07.04 16:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Так тоже не получается, потому что определение размеров каждого конкретного Item-a происходит при инициализации ListBox, а попытки менять ItemHeight по событию OnMeasureItem ни к чему не приводят

        protected override void OnDrawItem(DrawItemEventArgs e)
        {
            if (e.Index < 0 || Items.Count == 0) return;
                        
            if (wordWrap)
            {                
                string item = Items[e.Index].ToString();                
                e.DrawBackground();
                SolidBrush brush = new SolidBrush(ForeColor);
                e.Graphics.DrawString(item,Font,brush,e.Bounds);
            }
            else
            {
                base.OnDrawItem (e);
            }
        }

        protected override void OnMeasureItem(MeasureItemEventArgs e)
        {
            if (e.Index < 0 || Items.Count == 0) return;

            if (wordWrap)
            {
                string item = Items[e.Index].ToString();
                SizeF size = e.Graphics.MeasureString(item,Font,Width);
                e.ItemHeight = Convert.ToInt32(size.Height);
            }
            else
            {
                base.OnMeasureItem (e);
            }
        }



AVK>Здравствуйте, mbrodin, Вы писали:


M>>Все это конечно интересно, но он большую строку обрезает и ставит три точки, а надо чтобы переносил на следующую строчку...


AVK>Если нужны переносы и строки разной высоты то только ListBox и OwnerDraw.
... << RSDN@Home 1.1.4 beta 2 >>
Re[4]: Многострочный ListBox в .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.07.04 17:53
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Если нужны переносы и строки разной высоты то только ListBox и OwnerDraw.


Вообще-то для этого лучше грид использовать.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Многострочный ListBox в .Net
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.07.04 07:32
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Если нужны переносы и строки разной высоты то только ListBox и OwnerDraw.


VD>Вообще-то для этого лучше грид использовать.


Какой?
... << RSDN@Home 1.1.4 beta 2 >>
AVK Blog
Re[6]: Многострочный ListBox в .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.07.04 13:19
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Какой?


А что в дотнете еще каке-то есть? Не, ну, если есть бабки, то конечно лучше купить коммерческие. А так алтернативы ДатаГриду нет.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Многострочный ListBox в .Net
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.07.04 13:22
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Какой?


VD>А что в дотнете еще каке-то есть? Не, ну, если есть бабки, то конечно лучше купить коммерческие. А так алтернативы ДатаГриду нет.


DataGrid не умеет рисовать многострочный текст.
... << RSDN@Home 1.1.4 beta 2 >>
AVK Blog
Re[8]: Многострочный ListBox в .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.07.04 14:31
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>DataGrid не умеет рисовать многострочный текст.


Уверен? Что-то мне казалось он текс переносить умеет.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Многострочный ListBox в .Net
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.07.04 20:53
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>DataGrid не умеет рисовать многострочный текст.


VD>Уверен? Что-то мне казалось он текс переносить умеет.


Ты почитай сколько тут вопросов как заставить DataGrid переносит текст в ячейке .
... << RSDN@Home 1.1.4 beta 2 >>
AVK Blog
Re[10]: Многострочный ListBox в .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.07.04 22:56
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:

AVK>Ты почитай сколько тут вопросов как заставить DataGrid переносит текст в ячейке .


Не. Нафиг. Я вопросы по датагриду принципиально игнорирую. Иначе он сниться начент.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Многострочный ListBox в .Net
От: Peter Fleischer Германия www.informtoools.de
Дата: 27.07.04 12:02
Оценка:
AndrewVK wrote:
> Здравствуйте, VladD2, Вы писали:
>
> AVK>>Какой?
>
> VD>А что в дотнете еще каке-то есть? Не, ну, если есть бабки, то
> конечно лучше купить коммерческие. А так алтернативы ДатаГриду нет.
>
> DataGrid не умеет рисовать многострочный текст.

Конечно умеет. Ставь PrefferedRowHeigth по-больше и во всех строках можно видеть многострочный текст.

Peter
Posted via RSDN NNTP Server 1.8
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.