我有一個ContextMenuStrip
用於DataGridView
,DataGridView位於SplitContainer
面板的內部。我的用戶請求他們能夠右鍵單擊網格中的任何行,然後右鍵單擊的行將成爲選定的行,並出現菜單。那我的代碼一直在努力,直到我把SplitContainer的面板更新CurrencyManager位置
private void DataGridView_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
// Get the row that was right-clicked on
DataGridView.HitTestInfo hitTestInfo = DataGridView.HitTest(e.X, e.Y);
if (hitTestInfo != DataGridView.HitTestInfo.Nowhere)
{
// Change the binding source position to the new row to 'select' it
BindingSource.CurrencyManager.Position = hitTestInfo.RowIndex;
}
}
}
一切內部在DataGridView似乎直到它到達最後一行
BindingSource.CurrencyManager.Position = hitTestInfo.RowIndex;
中的位置始終保持在工作正常-1,即使hitTestInfo.RowIndex
有一個不同的值,它正試圖分配。這可能是因爲SplitContainer面板?如果是這樣,關於如何解決它的任何建議?
感謝