DataGridView SelectionChanged事件總是在數據源更改時自動觸發,這點很討厭。
可用CellClick和KeyUp事件和一個函數替代SelectionChanged事件
private void dvpt_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0) return;//如果不是單擊列表頭
MySelectionChanged();
}
private void dvpt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Down || e.KeyData == Keys.Up)
{
MySelectionChanged();
}
}
public void MySelectionChanged()
{
if (dvpt.SelectedRows.Count == 0) return;
....................................................................................
}