تا %60 درصد تخفیف برای تنها 5 نفر با کد 983S46WX + صدور گواهینامه فقط تا
000000
jamalmansouri

نمایش فرم با استفاده از Thread در سی شارپ

سلام دوستان وقتتون بخیر ، دوستان من با استفاده از دستور زیر یک فرم رو فراخوانی می کنم ولی برای یک لحظه فرم ظاهر میشه و سپس مخفی میشه ممنون میشم راهنمایی کنید.

private void button1_Click(object sender, EventArgs e)
        {
            System.Threading.ThreadStart ts = new System.Threading.ThreadStart(start);
            System.Threading.Thread td = new System.Threading.Thread(ts);
            td.Start();
        }
        private void start()
        {
            Form2 frm = new WindowsFormsApplication70.Form2();
            frm.Show();
        }
این سوال 1 پاسخ دارد.
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
حسین احمدی

سلام دوست عزیز، شما داخل سی شارپ نمیتونید به صورت عادی فرمتون رو تو یک Thread جداگانه نمایش بدید، دلیل این موضوع هم به خاطر وجود Message Loop ای هست که تو Thread اصلی وجود داره و میتونه پیام های Windows رو پردازش کنه. اگر قراره کاری انجام بشه و فرم نمایش داده بشه، می تونید از متد BeginInvoke در کلاس Control استفاده کنید، چون این متد تو کلاس Control تعریف شده و Form هم از کلاس Control مشتق شده، به صورت زیر می تونید کدتون رو تغییر بدید:

this.BeginInvoke((Action)delegate {

        var form = new Form2();
        form.Show();
    });
کانال تلگرام: https://t.me/TOSINSOAhmadi
  • انتخاب شده به عنوان جواب توسط 1 نفر
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر