powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
6 сообщений из 6, страница 1 из 1
Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
    #32248598
MagicMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сразу говорю, что я не спец в C#, чтото умею, но такие фундаментальные вещи пока что не просекаю.

Нужно сделать так, чтоб можно было управлять видимостью VScroll. У меня есть панель, на которой располагаются элементы. У неё свойство AutoScroll = true. Панель располагается на датагриде сверху. Если я Датагрид ресайзю, и делаю видимую область по размерам меньше, чем сам Грид, то появляется VScroll в гриде и в панели. В панеле VScroll мне надо убрать. Зачем я сделал панель - я на ней над заголовками колонок я расположил комбобоксы, в них я выбираю какие то варианты, связанные с колонками грида (т.е. чел выбирает из списка что значит та или иная колонка Грида).
Вторая задача такая - комбики должны ВСЕГДА располагаться над заголовками, но если я скроллю датагрид, то комбики остаются на старом месте, а мне нужно чтоб они скроллились вместе с гридом.

Посему вопросы:
1 - напишите плиз оверрайд VScroll, чтоб можно было управлять видимостью
2 - Я попытался и у меня не получилось - как сделать так, что если скроллится датагрид, то проскроллить и панель над ней?

Я пытался сделать оверрайд VScroll, но VisStudia начала ругаться на то, что ето protected свойство... Все, я надеюсь только на вашу помосчь! Заранее спасибо
...
Рейтинг: 0 / 0
Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
    #32250770
Sergey Pikhulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... Панель располагается на датагриде сверху. ...

Как это???
...
Рейтинг: 0 / 0
Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
    #32250993
MagicMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
за синтаксис не ручаюсь (хотя вроде правильно написал по памяти):

DataGrid1.Controls.Add(panel1);
...
Рейтинг: 0 / 0
Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
    #32250996
MagicMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. я сначала сделал

panel1.Controls.Add(Combik1); (сколько там комбиков зависит от таблицы - источника данных) и т.д. а уж потом

DataGrid1.Controls.Add(panel1);
...
Рейтинг: 0 / 0
Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
    #32252186
Sergey Pikhulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>1 - напишите плиз оверрайд VScroll, чтоб можно было управлять видимостью
Это не виртуальное свойство - переопределить его нельзя. Используйте ShowScrollBar:

Код: plaintext
1.
2.
const int SB_VERT =  1 ;
[DllImport( "User32.dll" )]
static extern bool ShowScrollBar(IntPtr hWnd,	int wBar, bool bShow);


и использование:
Код: plaintext
ShowScrollBar(panel.Handle, SB_VERT, false);


>2 - Я попытался и у меня не получилось - как сделать так, что если скроллится датагрид, то проскроллить и панель над ней?
В DataGrid'e переопределить GridVScrolled и внутри проставлять panel.AutoScrollPosition
...
Рейтинг: 0 / 0
Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
    #32252425
MagicMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за ответ!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сделать оверрайд видимости VScrollBar и еще вопрос по скроллу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]