2016-05-24 3 views
0

У меня есть приложение, работающее на сенсорном экране. В нем у меня есть DataGridView, и у меня есть эта проблема:Сенсорный экран - DataGridView не прокручивается до конца

Когда я прокручиваю его с помощью сенсорного экрана, он не подходит к концу.

Когда я прокручиваю его с помощью мыши, он идет в конец.

Поскольку мой последний сенсорный экран связанный вопроса не получил много любви или ответить я сделал видео, чтобы лучше продемонстрировать мою проблему: LINK TO THE VIDEO

Как вы можете видеть, когда я использовать сенсорный экран есть запись отсутствует, и когда я иду в scrool bar с мышью, как DataGridView добавляет еще одну запись. Это происходит с более чем одной строкой.

Любые предложения?

Информация:

App работает на победу 10. Сделано в .net (C#) (структура 4)

EDIT:

сейчас я пытаюсь это но его все еще слишком непредсказуемо

  int totalHeight = 0; 
      foreach (DataGridViewRow row in dataGridView1.Rows) 
       totalHeight += row.Height; 

      MessageBox.Show("Total H: " + totalHeight.ToString() + " Height: " + dataGridView1.Height.ToString() + " VO: " + dataGridView1.VerticalScrollingOffset); 

      if (totalHeight - dataGridView1.Height < dataGridView1.VerticalScrollingOffset) 
      { 
       int diferenca = dataGridView1.RowCount - (dataGridView1.FirstDisplayedScrollingRowIndex + dataGridView1.DisplayedRowCount(false)); 

       MessageBox.Show("Diferenca- " + diferenca.ToString() + "RowCount- " + dataGridView1.RowCount + "Soma- " + (dataGridView1.FirstDisplayedScrollingRowIndex + dataGridView1.DisplayedRowCount(false))); 

       if (diferenca != 0) 
       { 
        dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.FirstDisplayedScrollingRowIndex + diferenca; 
       } 
      } 
+0

Привет У меня есть некоторые проблемы прямо сейчас. Вы нашли решение для этого? – GrzegorzM

ответ

0

Попробуйте сделать это программно, установив VerticalScrollingOffset:

может быть, это полезно: setting VerticalScrollingOffset programmatically

+0

'dataGridView.VerticalScrollingOffset' только для чтения .. Вы имели в виду, что я должен использовать пользовательский scrool bar = – meme

+0

Попробуйте установить это свойство dataGridView.FirstDisplayedScrollingRowIndex – ChenChi

+0

Я могу это сделать. Но в каком случае я это делаю? – meme

Смежные вопросы