2016-05-24 28 views
0

私はアプリケーションをタッチスクリーン上で実行しています。その中にDataGridViewがあり、私はこの問題があります:タッチスクリーン - DataGridViewが最後までスクロールしない

私はタッチスクリーンを使用してそれをスクロールすると、最後には行きません。

私はそれをマウスでスクロールすると、最後まで行きます。

私の最後のタッチスクリーン関連の質問は、私はより良い私の問題を実証するためのビデオを作った多くの愛を取得したり、返事をしなかったので:LINK TO THE VIDEO

uが見ることができるように私はタッチスクリーンを使用するとき、不足しているレコードが存在するとマウスを使ってscroolバーに移動すると、DataGridViewは別のレコードを追加します。これは単なる行以上で起こります。

提案がありますか?

情報:

.NET製アプリケーションは勝利10 上で実行されている

(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バーを使うべきですか?= – meme

+0

このプロパティを設定してみてください。dataGridView.FirstDisplayedScrollingRowIndex – ChenChi

+0

私はそれを行うことができます。しかし、どのような場合に私はそれをしますか? – meme

関連する問題