У меня есть вид DataGrid, как это .... в скрине хорошо то будет отлично работает ...подключения события к вертикальной полосы прокрутки верхней стрелки и вниз стрелки в виде сетки данных с помощью C#
мне нужно подключить до события в вертикальной боковой панели ..
я имею в виду, если я нажимаю на верхней стрелке в полосе прокрутки я хочу сделать что-то ...
Если я нажмите на стрелку вниз в этой полосе прокрутки, я хочу что-то сделать ...
Чтобы быть более конкретным, я хочу получить идентификатор firs т верхней записи, когда я нажимаю на верхних стрелках в вертикальной полосе прокрутки ..
Как я могу это сделать ..., я использую WinForms
бы любая пожалуйста помощь по этому вопросу ....
Большое спасибо заранее
Я нашел это, но я не знаю, как реализовать это в моей странице
using System.Reflection;
using System.Windows.Forms;
bool addScrollListener(DataGridView dgv)
{
bool ret = false;
Type t = dgv.GetType();
PropertyInfo pi = t.GetProperty("VerticalScrollBar", BindingFlags.Instance | BindingFlags.NonPublic);
ScrollBar s = null;
if (pi != null)
s = pi.GetValue(dgv, null) as ScrollBar;
if (s != null)
{
s.Scroll += new ScrollEventHandler(s_Scroll);
ret = true;
}
return ret;
}
void s_Scroll(object sender, ScrollEventArgs e)
{
// Hander goes here..
}
Я сделал, как это ...
private void s_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
if (e.Type == ScrollEventType.ThumbPosition)
{
if (e.Type == ScrollEventType.SmallIncrement)
{
int i = dgvMembers.FirstDisplayedScrollingRowIndex;
int idemebers =Convert.ToInt32(dgvMembers.Rows[i].Cells["Id"].Value.ToString());
getMemberInfo(i, idemebers);
}
if (e.Type == ScrollEventType.SmallDecrement)
{
int i = dgvMembers.FirstDisplayedScrollingRowIndex;
int idemebers = Convert.ToInt32(dgvMembers.Rows[i].Cells["Id"].Value.ToString());
getMemberInfo(i, idemebers);
}
}
}
}
, но это событие не срабатывает s.Scroll + = новый ScrollEventHandler (s_Scroll); это не входит в это событие ...
бы любой пожалуйста помощь на этом ...
Вы можете в конечном итоге создать свой собственный бар пользовательских прокрутки ... Я не думаю, что для Windows предоставляет эти типы событий. – qJake
@SpikeX Я использую код выше, но не знаю, как начать ... –
Этот код не будет работать. Это событие, когда вся сетка прокручивается, а не когда вы специально нажимаете одну из стрелок вверх или вниз. – qJake