Aynı sorunu yaşadım ve birkaç farklı sorunla karşılaştığım uygulamaları uygulayarak farklı çözümlerle karşılaştım. Son olarak, aşağıda benim için beklendiği gibi çalışan farklı gönderilerden bazı parçaları bir araya getirdim.
private void btnCompare_Click(object sender, EventArgs e)
{
ThreadStart threadStart = new ThreadStart(Execution);
Thread thread = new Thread(threadStart);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
PictureBox denetimini çağırmayı da yürüten Yürütme yöntemi:
private void Execution()
{
btnCompare.Invoke((MethodInvoker)delegate { pictureBox1.Visible = true; });
Application.DoEvents();
// Your main code comes here . . .
btnCompare.Invoke((MethodInvoker)delegate { pictureBox1.Visible = false; });
}
PictureBox'ın Özellikler Penceresinden görünmez olduğunu unutmayın veya aşağıdakileri yapın:
private void ComparerForm_Load(object sender, EventArgs e)
{
pictureBox1.Visible = false;
}