Aşağıdaki gibi örnek bir butonumuz var. Bu butonun boyutunu thread kullanarak değiştirmek istiyoruz. Bu işlem sırasında Windows Controllerinden bir hata mesajı alıyoruz. Hata mesajımız tam da aşağıdaki gibi görünüyor. Çapraz iş parçağıcı işlemi geçerli değil diye bir hata fırlatıyor.
Çapraz iş parçağıcı işlemi geçerli değil hatası çözümü için internette biraz araştırma yaptığımızda Form load kısmına aşağıdaki kodu yerleştirmeniz yeterli olacağı yazıyor.
1 2 3 | CheckForIllegalCrossThreadCalls = false; |
C# Programı: Aşağıdaki programda Form1() metoduna yukarıdaki kodu ekledikten sonra çalıtşrıdım ve hata düzeldi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; } public void ornekThread() { for (int z = 0; z < 10; z++) { button1.Size = new Size(button1.Size.Width+10, button1.Size.Height + 10); Thread.Sleep(500); } } private void button1_Click(object sender, EventArgs e) { Thread thr = new Thread(new ThreadStart(ornekThread)); thr.Start(); // thr.Abort(); } } } |
Yorum Yap