-3

dgv_configCHはwinform DataGridViewです)。下の図に示すように、VSエグゼキュータはifの括弧内にあり、条件はfalseです。実際には、VS Executorは条件を確認した後ではなく、関数を出る直前に入力します。このプログラムでは、DataGridViewCheckBoxCellを使用するだけの目的は、dgv_configCH[e.ColumnIndex, e.RowIndex].Value.ToString()がいつでもイベントでtrueを返すためです。C#条件を満たさないif(条件)文をパッシングすることによって!魔法の事が起こる?

enter image description here

+2

CommitEdit()の後にfalseになることはありますか? –

+1

@IndritKelloコミットは、セルを再び「きれいにする」ものです...私は完全に期待されるイメージを言うでしょう。 – Fildor

+0

私は何が起きているのかを記録しています:https://www.youtube.com/watch?v=HIevvCGDV48もっと明確にするために、私はF11を押すのが速すぎますが、それは何ですか?関数を終了する直前、最後の括弧の後に戻ります。 dgv_configCH.CommitEdit ... – MHamdaoui

答えて

0

コンパイラはライン打ったときまあ、それは、本当だった - 確かにする;) は

VAR isDirty = this.dgv_configCH.IsCurrentCellDirtyに変更してください。 if(isDirty)

commitedit()で状態を変更したため、停止した行に正しいif条件が表示されなくなりました。

+0

私は何が起きているのかを記録しています:https://www.youtube.com/watch?v=HIevvCGDV48 – MHamdaoui

+0

これは、メソッドを2回ヒットしたように見えます。初めてisDirty falseで終了します。 2番目の条件で土地 - 右ですか? 同じ場合は同じスレッドですか?そうでない場合は、メソッド内の呼び出しを同期させることができます。 –

関連する問題