powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / получить управление DGW
5 сообщений из 5, страница 1 из 1
получить управление DGW
    #38994961
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
На форме создаю динамические контролы: TabControl + Несколько TabPage.
На каждом TabPage по два DGW. Необходимо при прокрутке DGW2 прокручивать DGW1.
Создал обработчик на прокрутку DGW2:
Код: vbnet
1.
 AddHandler DGW2 .Scroll, AddressOf DGW2_Scroll


Код: vbnet
1.
2.
3.
4.
5.
Private Sub DGW2_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs)
       ' Dim DGW1 As DataGridView = DirectCast(DataGridView, DataGridView) ?????????????????

        DGW1.FirstDisplayedScrollingColumnIndex = sender.FirstDisplayedScrollingColumnIndex
    End Sub


Как получить управление над DGW1? В принципе я могу программно вычислить его имя, что дальше делать в DGW2_Scroll...
...
Рейтинг: 0 / 0
получить управление DGW
    #38994999
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL,
сделал так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 Private Sub DGW2_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs)
        Dim DGW1 As DataGridView
        Dim ID As String = Replace(sender.Name, "DataGridView2", "")
        Dim Obj As Object = sender.parent
        For Each ctrl As Control In Obj.Controls
            If ctrl.Name = "DataGridView1" + ID Then
                DGW1 = DirectCast(ctrl, DataGridView)
            End If
        Next
        DGW1.FirstDisplayedScrollingColumnIndex = sender.FirstDisplayedScrollingColumnIndex
    End Sub


может можно попроще? Спасибо.
...
Рейтинг: 0 / 0
получить управление DGW
    #38995410
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Обычно прокрутку одного грида в зависимости от перемещения на другом делают через связь Master-Detail
...
Рейтинг: 0 / 0
получить управление DGW
    #38995427
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL, привязка по имени выглядит некрасиво не говоря уже о цикле который будет вносить лишние задержки. Используй свойство Tag:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
DGW2.Tag = DGW1
AddHandler DGW2 .Scroll, AddressOf DGW2_Scroll
...
Private Sub DGW2_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs)
        Dim DGW1 As DataGridView = DirectCast(DirectCast(sender, DataGridView).Tag, DataGridView)
        DGW1.FirstDisplayedScrollingColumnIndex = sender.FirstDisplayedScrollingColumnIndex
End Sub
...
Рейтинг: 0 / 0
получить управление DGW
    #38996347
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
bazileLexx_SQL, привязка по имени выглядит некрасиво не говоря уже о цикле который будет вносить лишние задержки. Используй свойство Tag:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
DGW2.Tag = DGW1
AddHandler DGW2 .Scroll, AddressOf DGW2_Scroll
...
Private Sub DGW2_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs)
        Dim DGW1 As DataGridView = DirectCast(DirectCast(sender, DataGridView).Tag, DataGridView)
        DGW1.FirstDisplayedScrollingColumnIndex = sender.FirstDisplayedScrollingColumnIndex
End Sub


Костыли
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / получить управление DGW
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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