DataGridView
コントロールを使用するWindowsフォームアプリケーションを開発しています。このDataGridView
には、ボタンを含むセルがあります。デフォルトボタンのテキストはStart
ですが、私は次のように動的に変更しようとすると:DataGridViewButtonCell値を変更するとStackOverflowExceptionが発生する
((DataGridViewButtonCell)Myrow.Cells[9]).Value = "End";
または単に
Myrow.Cells[9].Value = "End";
ようですが、次の例外スロー:私の完全なコードは次のようである
An unhandled exception of type 'System.StackOverflowException' occurred in System.Windows.Forms.dll
をこれは:
void HighlightOnlineUsers()
{
foreach (DataGridViewRow Myrow in dataGridView1.Rows)
{
if (Convert.ToInt32(Myrow.Cells[8].Value) > 0)
{
Myrow.DefaultCellStyle.BackColor = Color.GreenYellow;
Myrow.Cells[9].Value = "End";
}
else {
Myrow.DefaultCellStyle.BackColor = Color.White;
((DataGridViewButtonCell)Myrow.Cells["SessionAction"]).Value = "Start";
}
}
}
をあなたは –
から 'HighlightOnlineUsers'を呼ぶのですどこの質問は、それは' Form'のコードファイル内にあります@IvanStoevた 'DataGridViewの中'が置かれている。 –
私は、あなたが何らかのイベントから呼び出すように見え、実装が同じイベントをトリガーするので、StackOverflowExceptionが発生します。 –