Связывание двух разных элементов управления - PullRequest
1 голос
/ 24 июня 2011

Я показал часть моего приложения Winform здесь. Самая большая часть - это временная шкала. Вертикальные линии там указывают на появление сообщений определенного типа в это время. Он связан с содержимым таблицы данных, которая связана с базой данных SQLite

При нормальной работе происходит загрузка базы данных. И база данных отображается в виде таблицы данных, а затем различные типы сообщений отмечаются на временной шкале красной / синей / желтой линией. Временную шкалу можно прокручивать по горизонтали, перетаскивая мышь через ... (т.е. она не имеет явной полосы прокрутки)

Теперь мне нужно сделать следующее. Если я щелкну правой кнопкой мыши точку на временной шкале и нажму Перейти к LogLine , DGV вниз должен автоматически прокрутить вниз до этой строки в DGV, которая та же отметка времени.

Как это можно сделать ??

Ответы [ 2 ]

0 голосов
/ 25 июня 2011

Вы можете сделать это, установив VerticalScrollingOffset из DataGridView в событии Scroll, используя Reflection

включает пространство имен System.Reflection

PropertyInfo verticalOffset = dataGridView2.GetType().GetProperty("VerticalOffset", BindingFlags.NonPublic | BindingFlags.Instance);
verticalOffset.SetValue(dataGridView2, dataGridView1.VerticalScrollingOffset, null);
0 голосов
/ 25 июня 2011

Все, что вам нужно сделать, это установить DataGridView.SelectedCell на интересующую вас, может быть, первую ячейку в строке, которую вы обнаружили, если вас это интересует.Затем DataGridView автоматически будет отображать эту ячейку, прокручивая при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...