У меня странное исключение. Иногда - не все времена, при нажатии на DataGridView я получаю это
Exception: < /p>
System.IndexOutOfRangeException: Index -1 does not have a value.
at System.Windows.Forms.CurrencyManager.get_Item(Int32 index)
at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnRowEnter(DataGridViewCellEventArgs e)
at System.Windows.Forms.DataGridView.OnRowEnter(DataGridViewCell& dataGridViewCell, Int32 columnIndex, Int32 rowIndex, Boolean canCreateNewRow, Boolean validationFailureOccurred)
at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
at System.Windows.Forms.DataGridView.OnCellMouseDown(HitTestInfo hti, Boolean isShiftDown, Boolean isControlDown)
at System.Windows.Forms.DataGridView.OnCellMouseDown(DataGridViewCellMouseEventArgs e)
at System.Windows.Forms.DataGridView.OnMouseDown(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.DataGridView.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr l param)
< /code>
Сетка автоматически заполняется из списка. < /p>
При отладте (с использованием режима отладки VS 2013) исключение не пойман, возможно, потому что это происходит в различном потоке?
Я видел, как это происходит с другими, но я не могу проследить это в своем случае, потому что это не всегда происходит. < /p>
Любые идеи об этом будут высоко оценены, спасибо < /p>
Редактировать: < /p>
Ответ ниже - общий Curret, но в моем конкретном случае мне просто нужно было сделать DataGridView.RERESH () Перед щелчком.>
Подробнее здесь: https://stackoverflow.com/questions/274 ... ve-a-value