Witam

Mam w aplikacje kontrolkę DataGridView i do niej 'podpięte' dane (DataSource). Problem występuje przy usuwaniu rekordu, wydaję mi się że mono nie wie który row 'zaznaczyć'.
:Przy usuwaniu:
-Podświetlenie znika (zaznaczony row) (żaden row nie jest zaznaczony)
-Row znika, program zamarza, po kliknięciu w dowolny element na dtgv wywala:

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
  at System.Collections.ArrayList.get_Item (Int32 index) <0xb52f70e0 + 0x00080> in <filename unknown>:0 
  at System.Windows.Forms.DataGridViewCellCollection.GetCellInternal (Int32 colIndex) <0xb3492b70 + 0x00026> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.DataGridViewCellCollection:GetCellInternal (int)
  at System.Windows.Forms.DataGridView.GetCellInternal (Int32 colIndex, Int32 rowIndex) <0xb3492a70 + 0x0002f> in <filename unknown>:0 
  at System.Windows.Forms.DataGridView.OnCellLeave (System.Windows.Forms.DataGridViewCellEventArgs e) <0xb349b560 + 0x00027> in <filename unknown>:0 
  at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore (Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick) <0xb34d8f78 + 0x002ad> in <filename unknown>:0 
  at System.Windows.Forms.DataGridView.OnMouseDown (System.Windows.Forms.MouseEventArgs e) <0xb321d488 + 0x0027b> in <filename unknown>:0 
  at System.Windows.Forms.Control.WmLButtonDown (System.Windows.Forms.Message& m) <0xb321cb98 + 0x00161> in <filename unknown>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) <0xb35ab100 + 0x001d7> in <filename unknown>:0 
  at System.Windows.Forms.DataGridView.WndProc (System.Windows.Forms.Message& m) <0xb349b410 + 0x00017> in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) <0xb35ab0e0 + 0x0001d> in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) <0xb35ab0b0 + 0x0002b> in <filename unknown>:0 
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) <0xb35a9ce8 + 0x002cb> in <filename unknown>:0 
System.InvalidOperationException: The row has not been added to a DataGridView control.

Myśle, że można by zrobić jakiś fix pod mono, tylko nie wiem którą metodę nadpisać, która odpowiada za 'przeniesienie' zaznaczenia rowu, i tam sprawdzać dany index.

Dodam jeszcze sposób usuwania:
BindingList.RemoveAt(1);
//tak, jest element o indexie 1. Sztywna lista np 500 elementów, wywołuję kod wyżej i patrz od :Przy usuwaniu:

Pod windowsem działa.