در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

صادقیان

استفاده از کلاس System.Threading.Timer در سی شارپ

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

<left>

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication19
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
private void Form1_Load(object sender, EventArgs e)
        {
              int number=0;
              Timer time =new Timer ();
              time.tick+=(abj,args) =>
               {
                  number+=1;
                  Label1.Text=number;
               };

            time.Interval=2000;
            time.Enabled=True;
         }
     }
}

<left>

#thread_چیست #کلاس_system.threading.timer #برنامه_نویسی_multi-threaded #مشکل_استفاده_از_thread_در_سی_شارپ #thread_ها_در_سی_شارپ #کار_با_thread_ها_در_سی_شارپ #استفاده_از_system.threading.timer
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
حسین احمدی

دوست عزیز، تو سوال قبلیتون هم پاسخ دادم که دلیل این موضوع Conflict بین کلاس های Timer در فضاهای نام System.Windows.Forms و System.Threading هست، شما برای اینکار باید فضای نام Timer رو به صورت کامل بنویسید:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication19
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
private void Form1_Load(object sender, EventArgs e)
        {
              int number=0;
              System.Threading.Timer time =new System.Threading.Timer ();
              time.tick+=(abj,args) =>
               {
                  number+=1;
                  Label1.Text=number;
               };
 
            time.Interval=2000;
            time.Enabled=True;
         }
     }
}
لطفاً سوال خود را در انجمن مطرح کنید، به سوالات در پیام خصوصی پاسخ داده نخواهد شد
صادقیان

ممنون از پاسختون ولی مجددا با پیغام خطای زیر مواجه شدم.

وب سایت توسینسو

حسین احمدی

کدی که بالا برای شما نوشتم اشتباه هست، کلاس Timer به عنوان سازنده چند پارامتر قبول میکنه که باید مشخص بشن، نحوه تعریف Timer که در فضای نام System.Threading قرار داره به صورت زیر است:

            System.Threading.Timer timer = new System.Threading.Timer(new System.Threading.TimerCallback(obj =>
            {
                Console.WriteLine("Hi");
            }), null, 0, 2000);

پارامتر اول کدی که در timer باید اجرا بشه رو مشخص می کنید، پارامتر دوم شئ ای که به عنوان پارامتر به متد مشخص شده اول ارسال میشه، پارامتر سوم میزان تاخیر اولیه در اجرای timer و آخرین پارامتر میزان تاخیر در هر بار اجرای timer.

لطفاً سوال خود را در انجمن مطرح کنید، به سوالات در پیام خصوصی پاسخ داده نخواهد شد
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....