Re: StackOverFlow при работе с DataGridView
От: mill  
Дата: 11.03.12 18:25
Оценка:
Здравствуйте, mill, Вы писали:

M>Добрый день, пытаюсь написать обработку фокуса в табличке


M>m,n — глобальные переменные

M>n = ColumnCount — 1;
M>m = RowCount — 1;
M>...
M>private: System::Void PolynomTable_CellLeave(System::Object^ sender, System::Windows::Forms::DataGridViewCellEventArgs^ e) {
M> int k1 = e->ColumnIndex;
M> int k2 = e->RowIndex;
M> if (k1 == n) //
M> {
M> if (k2 < m) PolynomTable->CurrentCell::set(PolynomTable[0,k2+1]);
M> }
M> else
M> {
M> PolynomTable->CurrentCell::set(PolynomTable[k1+1,k2]);
M> }
M> }

M>компиляция работает, всё норм, а при вводе любой ячейки получаю StackOverFlowException.


M>Опытные программисты, подскажите что здесь сделано не так?



---------------------------------------------------------------
В общем понял что CellLeave плохое событие для данной идеи.
Лучше подходит какой нибудь CellEndEdit.
Хотя ничего не получается, по нажатии Enter вдобавок к обработке события ещё и спускается вниз,
получается ход по диагонали.

Пришёл к выводу что проще пользоваться Tab и будет всё как задумывал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.