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;
}