アプリケーションにデータグリッドビューがあります。datagridview には、データソースとしてデータテーブルがあります。
datagridview を埋めた後、列のプロパティ (幅、表示、読み取り専用) を設定する手順があります。
このプロセスは私の開発環境で機能します。ただし、本番環境では次のメッセージが表示されます。
SetCurrentCellAddressCore 関数への再入可能呼び出しになるため、操作は無効です。
Visible = False の時点で、問題を次のコードに絞り込みました。
For i As Integer = 0 To D.Columns.Count - 1
D.Columns(i).Width = 50
D.Columns(i).DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleLeft
D.Columns(i).Visible = False
Next
エラーは列 1 でのみ発生します。ただし、列 1 を非表示から除外すると、列 1 を読み取り専用に設定するとアプリケーションが失敗します。
datagridview セルが使用されているため、再入可能呼び出しエラーは無限ループが原因であることを理解しています。ただし、コードは dev で機能します。実稼働テストで開発データベースのコピーを使用しているため、問題はデータに関連していません。
列が非表示または読み取り専用にされたときに、再入可能呼び出しが発生する原因は何ですか?