5

dataGridView に行を追加することによって毎秒自動的に更新されるデータを表示するために dataGridView を使用するプログラムがあります。

冒頭辺りが読みたい時は上にスクロールし、データが更新されてもスクロールバーが下がらず良いです。しかし、スクロールバーがdataGridViewの一番下にあるときだけスクロールバーを下げたいです。

テキストに新しい行が追加されたときに必要な動作:

スクロールバーが一番下にある場合は、自動的に下にスクロールします。スクロールバーが他の場所にある場合は、スクロールしないでください。

このために私が書いたコードで、残念ながら動作しません:

 private void liveDataTable_Scroll(object sender, ScrollEventArgs e)
 {
    ScrollPosition = liveDataTable.FirstDisplayedScrollingRowIndex; 

    if (ScrollPosition == liveDataTable.RowCount - 1)
    {
       IsScrolledToBottom = true;
    }
    else
    {
       IsScrolledToBottom = false;
    }            
 }
 public void AddRowToDataGridMethod()
 {
    dataTable.Rows.Add();

    if (dataWin.IsScrolledToBottom == true)
         dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = (dataWin.ScrollPosition + 1);
    else
         dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = dataWin.ScrollPosition;         
 }
4

3 に答える 3