![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
NikotiN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
Доброе утро.
вот понадобилось, чтобы в одной ячейке было несколько ссылок через запятую. Такое вроде бы нельзя сделать в стандартном DataGridViewLinkCell, но можно через LinkLabel. Вот я и решил написать новый компонент, который бы выводил эту LinkLabel. Собственно всё получилось, в Paint я выставляю ей размеры и положение и т.п... но вот когда идёт скроллинг, то получаются артефакты всякие - так как для невидимых ячеек не вызывается метод Paint, то все их LinkLabel остаются на экране. Собственно вопрос: как сделать так, чтобы выводились LinkLabel только видимых ячеек, где это отслеживать? Ну и ещё парочка: каков общий принцип вывода контролов в ячейках таблицы? меня интересует именно вывод во всех ячейках, а не только при редактировании. Первое нигде не нашёл, а про второе почти везде пример с календарём, но мне это не нужно( Может есть другой способ сделать несколько ссылок в одной ячейке? мне только необходимо отслеживать на какое слово нажали и всё |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
NikotiN, уж лучше не возиться с отрисовкой, а просто сделать новые DataGridViewCell и DataGridViewColumn
-------------------- СУВ, Partizan. |
|||
|
||||
NikotiN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
я так и делаю. прошу прощения не уточнил метод Paint у DataGridViewCell
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
NikotiN, а зачем все эти танцы с отрисовкой тогда?
-------------------- СУВ, Partizan. |
|||
|
||||
NikotiN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
а как мне выводить эти LinkLabel несчастные?
получается вот так: внизу то, что надо исправить - не скрываются LinkLabel от невидимых ячеек ![]() в общем вот минимизированный пример, как сделать так, чтобы скрывались LinkLabel для тех ячеек, который в настоящий момент на экран не выведены?
Это сообщение отредактировал(а) NikotiN - 28.10.2008, 10:36 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
NikotiN, сделайте свой UserControl, в котором будут размещаться несколько LinkLabel и на основе него сделайте новый тип DataGridViewColumn
-------------------- СУВ, Partizan. |
|||
|
||||
NikotiN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
да сделал я, всё же написано, не об этом речь.
речь о том, что когда я создал эти Column и Cell и добавил их в datagridview, то на экране выводятся все мои User Control, а не только для тех ячеек, которые видны на экране. смотри картинку прилепленную, там внизу висит много linklabel, хотя их меньше должно быть, но так как метод paint вызывается для видимых ячеек, то я не могу указать для остальных ячеек, которые не показаны на экране из-за скролла скрыть свои контролы |
|||
|
||||
NikotiN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
в общем если не конкретизировать, то мне нужно отображать любой контрол во всех ячейках столбца в режиме просмотра
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |