私は得続けます
Cross-thread operation not valid: Control 'keyholderTxt' accessed from a thread other than the thread it was created on.
プロジェクトのさまざまなフォームのさまざまなコントロールについて、私はそれをグーグルで検索し、さまざまなスレッドからのものにアクセスする方法について多くの応答を見つけましたが、私が知る限り、私は自分のプロジェクトで他のスレッドを使用しておらず、コード内の何百もの可能な場所を変更すると、管理が困難になります。
関係のないように見えるさまざまなコードを追加したためだけに、これは決して起こりませんでした。以下にエラーが発生する場所のサンプルを含めますが、ソリューション全体で非常に多くの場所でエラーが発生しています。
keyholderTxt.Text = "Keyholders Currently In:\r\n \r\n Nibley 1: + keyholders";
または、これはより良い例です。フォームの読み込みからエラーまでに発生するすべてを確認できます。
private void Identification_Load(object sender, System.EventArgs e)
{
_Timer.Interval = 1000;
_Timer.Tick += new EventHandler(_Timer_Tick);
_Timer.Start();
txtIdentify.Text = string.Empty;
rightIndex = null;
SendMessage(Action.SendMessage, "Place your finger on the reader.");
if (!_sender.OpenReader())
{
this.Close();
}
if (!_sender.StartCaptureAsync(this.OnCaptured))
{
this.Close();
}
}
void _Timer_Tick(object sender, EventArgs e)
{
this.theTime.Text = DateTime.Now.ToString();
}
private void OnCaptured(CaptureResult captureResult)
{
txtIdentify.Clear();
//other stuff after the cross thread error
}
datareaders を閉じないと、この種のエラーが発生する可能性はありますか?
Windows フォーム アプリケーションを使用しています。