データベース接続が失われたときにwinformsのバックカラーを変更します。私はデリゲートを介してこれをやっています:フォームの背景色を変更するときに、異なるコントロールのクロススレッド無効操作を取得する
private void SetOfflineBackColor(Color color)
{
if (InvokeRequired)
{
SetOfflineBackground d = SetOfflineBackColor;
Invoke(d,BackColor = color);
}
else
{
BackColor = DefaultBackColor;
}
}
それはうまくいきます。しかし、別のコントロール、テキストボックス、私は今呼び出し呼び出しを行うときにクロススレッドエラーを投げている。私はこのテキストボックスがなぜインボークに含まれているのか理解できません。 ダイビングをして理由を確認する方法はありますか、または私の電話で何か不足していますか?
これは機能しましたが、SetOfflineBackgroundを直接呼び出すことができませんでした。デリゲート変数を作成する必要がありました。ちょうどFYI – rigamonk
@rigamonkありがとう、私はソースコードを編集しました – TcKs