صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 55

نام تاپیک: فرم انتظار

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    Thumbs up فرم انتظار(دانلود کنید نسخه 4.1 جدید)









    نسخه 4.1(Ed41) (سورس کد و لایبراری ضمیمه شده اند):
    این لودینگ واقعی است! یعنی یک زمان ثابت برای لودش نمیدهم بلکه براساس مدت زمان واقعی مورد نیاز برای لودش منتظر می ماند!


    قابلیتها:

    1-دارای قابلیت ارسال فرم ، ارسال شی و ارسال آرایه ای از اشیا و یا همزمان باهم که در overload های تابع CreateForm همگی قرار داده شده اند.
    2-در این نسخه کد نویسی تا حد ممکن تمیز شده و نام گذاری ها به تناسب کارشان اصلاح شده اند و مستند سازی شدند.
    3-دارای قابلیت نمایش Splash Screen همراه با خاصیت TextSplash که می توان متن فرم Splash را تعیین کرد.
    4- دارای خاصیتی به نام Text که می توان متن فرم انتظار را تعیین کرد.
    5- دارای قابلیتی برای نمایش فرم انتظار برای محاسبات زمانگیر داخل فرم به دو صورت(InForm)

    در این نسخه 4.1 قابلت ارسال آبجکت بازگشتی به تابع غیر استاتیک CreateInForm اضافه شد و راهنما به روزرسانی شد.

    استفاده از این لایبراری که ضمیمه شده برنامه ی شما را حرفه ای جلوه میدهد.(کدها توسط اینجانب نوشته شده است و با سورس باز که در پروژ دمو قرار دارد)
    (خوشتان آمد لایک یادتون نره)


    برای استفاده از این لایبراری آنرا از طریق زیر به پروژه تان اضافه کنید
    Solution Explorer>References>Add Reference>Browse>WaitingForHeavyForm.dll


    هدف ساخت:
    ساختن یک فرمی که به کاربر نشان دهد که برای دیدن آن فرم سنگین منتظر بماند.

    ضرورت ساخت:
    اگر فرم شما خیلی سنگین باشد مثلاً برای لود کردن تصویر ذخیره شده از درون دیتابیس برنامه قدری مکث میکند و کاربر احساس میکند که برنامه هنگ کرده و یا اگر از کریستال ریپورت استفاده میکنید کاربر احساس میکنه که برنامه هنگ کرده(که من از این قسمتش استفاده کردم)
    و یا اگر از اینترنت استفاده میکنید ممکن است کاربر احساس کند که برنامه هنگ کرده و یا هر چیزی که زمان بر است...


    کامپوننت مورد استفاده:
    برای ساخت این لایبراری از BackGroundWorker (کامپوننت مولتی تردینگ)استفاده شده است.

    نیازمندی ها:
    دات نت فریمورک 3.5

    -----------------------------------
    آموزش نحوه استفاده از کدها:
    -----------------------------------


    -------------------------------------------------------
    1--نمایش فرم انتظار برای باز شدن یک فرم جدید
    -------------------------------------------------------



    فرض کنید یک MainForm و چندین ChildForm داریم:
    این کد را برای نمایش ChildForm در MainForm (به جای استفاده از Show()) به کار میبریم:


    //add this name space
    using LoadingForm;

    // In Your MainForm
    Waiting.CreateForm(typeof(ChildForm1));


    و این کد را در ChildForm بعد از پروسه زمان برتان و قبل از لود به کار می بریم:

     LoadingForm.Waiting.ReportCompleted();


    یعنی به این صورت
    public partial class ChildForm1 : Form
    {
    public ChildForm1()
    {
    InitializeComponent();
    //فرضاً پروسه زمان برتان اینجا قرار دارد که قبل از لود باشد

    LoadingForm.Waiting.ReportCompleted();
    }
    }

    در این نسخه Waiting.CreateForm دارای 5 نسخ متفاوت overload برای ایجاد یک فرم جدید با قابلیت انتقال هر تعداد و هر نوع شی می باشد و در فایل ضمیمه به صورت عملی بکار برده شده است و از توضیح آن در اینجا خوداری شده است.

    -------------------------------------------------------
    2--نمایش فرم انتظار برای انجام عملی زمانبر در داخل فرم اصلی توسط متد غیر استاتیک CreateInForm
    -------------------------------------------------------



    (این مثال در سورس ضمیمه پیاده سازی شده است)
    فرض کنید یک پروسه زمان بر در یک قسمت از کدتان به صورت زیر قرار دارد (که در آن MainForm همان فرمی است که باتن 6 قرار دارد)
    برای استفاده از این متد ابتدا باید یک شی از کلاس Waiting تهیه کرد:

    LoadingForm.Waiting wt2 = new LoadingForm.Waiting();

    و سپس کدهای قسمت قبل را به این صورت درآورید:

            private void button6_Click(object sender, EventArgs e)
    {
    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(MainForm), this, false, false, "DoWork2");
    }

    public void DoWork2()//این متد در یک نخ دیگر در حال اجراست
    {
    //Simulate Heavy Processing
    System.Threading.Thread.Sleep(4000);
    }

    تذکر1: هرگز از اشیاء فرمتان(در واقع هر شی که خارج از این متد DoWork تعریف شده باشد )
    در این متد DoWork استفاده نکنید، که با خطا مواجه میشوید(چون این متد در یک نخ (Thread)دیگر در حال اجراست)
    بهتر است از متد با قابلیت بازگشت شی DoWork که ساختارش در ** ارائه شده است استفاده کرد.

    تذکر2: هرگز اشیاء این فرمتان را در این متد DoWork مودیفای (تعیین ) نکنید
    یعنی بهشون مقدار ندهید ولی میتوانید آنهارا به صورت زیر در این متد DoWork فراخوانی کنید:
    Form1 thisForm=LoadingForm.Waiting.formMain as Form1;
    string _str = thisForm.textBox1.Text;

    در صورت نیاز برای فراخوانی (و نه مودیفای) اشیاء فرم اصلی در همین تابع DoWork از این کد استفاده کنید.

    تذکر3: نام گذاری تابع مهم نیست که چی باشه فقط هرچی که هست همان نام را در تابع CreatInForm قرار دهید.



    **: متد MyDoWork1 (البته نام گذاریش مهم نیست) با قابلیت ارسال شی:
            private void button6_Click(object sender, EventArgs e)
    {
    wt2.TextWaiting = "صبر کنید";
    object obj=wt2.CreateInForm(typeof(MainForm), this, false, false, "MyDoWork1");
    }

    public object MyDoWork1()//این متد در یک نخ دیگر در حال اجراست
    {
    //Simulate Heavy Processing
    System.Threading.Thread.Sleep(4000);
    }


    -------------------------------------------------------
    3--نمایش Splash Screen برای ورود به نرم افزار
    -------------------------------------------------------



    فرض کنید فرمی داریم که دارای لود سنگین می باشد و کدهای فرمش به این صورت می باشد:
    برای نمایش فرم splash کدها را به این صورت در آورید:
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    LoadingForm.Waiting wt=new LoadingForm.Waiting();
    private void Form1_Load(object sender, EventArgs e)
    {
    wt.TextWaiting = "در حال ورود به سیستم...";
    wt.CreateInForm(typeof(Form1), this, true, false, "DoWorkInForm");
    }
    public void DoWorkInForm()//این متد در یک نخ دیگر در حال اجراست
    {
    // Simulate Heavy Loading
    System.Threading.Thread.Sleep(3000);
    }
    }



    فراموش نشود: در صورتی که از این(و یا هر تغییری از این) کدها در پروژه تان استفاده کردید در قسمت تشکرات برنامه تان تشکر از "فرهاد مهرورزی" فراموش نشود.

    توجه: فایل های ضمیمه با ویژوال استودیو 2012 نوشته شده اند برای باز کردن فایلها در نسخه 2010 ویژوال استودیو فایل .sln (سولوشن) را با نوت پد باز کنید و سپس این خط را
    Microsoft Visual Studio Solution File, Format Version 12.00

    را به این خط تبدیل کنید
    Microsoft Visual Studio Solution File, Format Version 11.00



    فایلهای ضمیمه شده برای نسخه 4.1:
    لایبراری: WaitingForHeavyForm_Ed41.zip
    سورس پروژه همراه با دمو: UC_LoadingForm_Ed41.zip
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله fmehrvarzi : شنبه 05 بهمن 1392 در 01:16 صبح

  2. #2

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک

    استفاده از این لایبراری که ضمیمه شده برنامه ی شما را حرفه ای جلوه میدهد.(کدها توسط اینجانب نوشته شده است و با سورس باز که در پروژ دمو قرار دارد)
    (خوشتان آمد لایک یادتون نره)


    برای استفاده از این لایبراری آنرا از طریق زیر به پروژه تان اضافه کنید
    Solution Explorer>References>Add Reference>Browse>WaitingForHeavyForm.dll


    هدف ساخت:
    ساختن یک فرمی که به کاربر نشان دهد که برای دیدن آن فرم سنگین منتظر بماند.
    این لودینگ واقعی است! یعنی یک زمان ثابت برای لودش نمیدهم بلکه براساس مدت زمان واقعی مورد نیاز برای لودش منتظر می ماند!


    ضرورت ساخت:
    اگر فرم شما خیلی سنگین باشد مثلاً برای لود کردن تصویر ذخیره شده از درون دیتابیس برنامه قدری مکث میکند و کاربر احساس میکند که برنامه هنگ کرده
    و یا اگر از کریستال ریپورت استفاده میکنید کاربر احساس میکنه که برنامه هنگ کرده(که من از این قسمتش استفاده کردم)
    و یا اگر از اینترنت استفاده میکنید ممکن است کاربر احساس کند که برنامه هنگ کرده


    کامپوننت مورد استفاده:
    برای ساخت این لایبراری از BackGroundWorker (کامپوننت مولتی تردینگ)استفاده شده است.

    نیازمندی ها:
    دات نت فریمورک 3.5

    نحوه استفاده از کدها:(یک پروژه دمو ضمیمه شده است)

    فرض کنید یک MainForm و چندین ChildForm داریم:
    این کد را برای نمایش ChildForm در MainForm (به جای استفاده از Show()) به کار میبریم:


    // In Your MainForm
    Waiting.CreateForm(typeof(ChildForm1));


    و این کد را در ChildForm بعد از پروسه زمان برتان و قبل از لود به کار می بریم:

     WaitingForHeavyForm.Waiting.ReportCompleted();


    یعنی به این صورت
        public partial class ChildForm1 : Form
    {
    public ChildForm1()
    {
    InitializeComponent();
    //فرضاً پروسه زمان برتان اینجا قرار دارد که قبل از لود باشد

    WaitingForHeavyForm.Waiting.ReportCompleted();
    }

    فراموش نشود: در صورتی که از این(و یا هر تغییری از این) کدها در پروژه تان استفاده کردید در قسمت تشکرات برنامه تان تشکر از "فرهاد مهرورزی" فراموش نشود.
    فایلهای ضمیمه شده:
    لایبراری: WaitingForHeavyForm.zip
    پروژ دمو: UC_LoadingForm.zip
    این پروژه مثال رو با چه نسخه ای نوشتید؟
    2012؟
    یا 2013؟

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    این پروژه مثال رو با چه نسخه ای نوشتید؟
    2012؟
    یا 2013؟
    با 2012 نوشتم

  4. #4

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک
    با 2012 نوشتم
    دست شما درد نکنه !
    الان من ولی 2012 رو در اختیار ندارم !
    یه مسئله ای ! از کدهایی که نوشتید من استفاده کردم ! ولی مسئله اینه که دستور واکشی من توی همون فرم اصلی انجام میشه ! یعنی وقتی کلید گزارش رو میزنی ، واکشی رو انجام میده و بعد دیتا تیبل رو به فرم ریپورت ارسال میکنه !
    حالا برای این شرایط چطور میتونم استفاده کنم ازش؟ ضمنا باید حتما برای فرم ریپورتم که متغییر ارسال کنم ! تا متوجه بشه باید دیتاتیبل رو به کدوم ریپورت پاس بده !

  5. #5

    نقل قول: فرم انتظار

    آقا این اگه بخوایم یه متغییر رو ارسال کنیم از مثلا فرم 1 به فرم 2 ! جواب نمیده و لودینگ همینجوری باقی میمونه !
    و اگه هم نشه ارسال کرد ! که دیگه ... ! این مشکل بزرگیه !

    اگه بشه یه کاری کرد که به جای اینکه اونجا اسم فرم رو بنویسیم ، اسم یک شیء از نوع اون فرم رو بنویسیم فکر میکنم بهتر باشه !

    یه همچین چیزی :
                Form2 form = new Form2(2);
    Waiting.CreateForm(form));

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    آقا این اگه بخوایم یه متغییر رو ارسال کنیم از مثلا فرم 1 به فرم 2 ! جواب نمیده و لودینگ همینجوری باقی میمونه !
    و اگه هم نشه ارسال کرد ! که دیگه ... ! این مشکل بزرگیه !

    اگه بشه یه کاری کرد که به جای اینکه اونجا اسم فرم رو بنویسیم ، اسم یک شیء از نوع اون فرم رو بنویسیم فکر میکنم بهتر باشه !

    یه همچین چیزی :
                Form2 form = new Form2(2);
    Waiting.CreateForm(form));
    باشه تو نسخه های بعدی قابلیت ارسال شی به فرم اضافه میکنم.
    و همین طور قابلیت کنسل و پر شدن پروگرس بار به فرم انتظار اضافه کنم که اگر اوکی شد اون قابلیت بالا را هم که گفتین بهش اضافه میکنم
    با تشکر از شما

  7. #7

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک
    باشه تو نسخه های بعدی قابلیت ارسال شی به فرم اضافه میکنم.
    و همین طور قابلیت کنسل و پر شدن پروگرس بار به فرم انتظار اضافه کنم که اگر اوکی شد اون قابلیت بالا را هم که گفتین بهش اضافه میکنم
    با تشکر از شما
    واقعا لطف میکنید !
    ازتون خیلی ممنونم !
    در واقع به نظرم اگر امکان ارسال رو داشته باشه ، واقعا یک چیز عالی میشه ! ولی اگر نداشته باشه ، میشه گفت یه طورایی بدون استفاده خواهد بود ! چون شما حتی اگه بخواهی گزارشی رو بگیری ، باید یک کد یا یک عدد یا یک رشته یا یک مورد خاص رو بفرستی برای فرم گزارشت تا در فرم گزارش مثلا عملیات واکشی بر اساس اطلاعات دریافتی صورت بگیره !
    ولی الان نمیشه این کار رو کرد !
    ممنون میشم ازتون اگر اینکار رو برای من انجام بدید ! و سایر دوستان البته !

    یه سوال دیگه...
    آیا امکان داره که این رو بشه طوری تنظیم کرد که عملیات لودینگ درون همون فرم جاری انجام بشه ! یعنی فرض کنید که اصلا فرم جدیدی نداریم...و میخوایم اول واکشی رو در فرم جاری انجام بدیم و بعد از اینکه انجام شده بفرستیم برای فرم گزارش ! اگر بشه اینکار رو انجام داد ، دیگه نیازی به اضافه کردن امکان ارسال شی هم نیست ! چون عملیات واکشی در همون فرم جاری با نشان دادن لودینگ انجام میشه و بعد ریخته میشه توی دیتاتیبل و بعد لودینگ قطع میشه و بعد دیتاتیبل آماده ارسال میشه به فرم کریستال ریپورت بدون هیچ مکثی !

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    در واقع به نظرم اگر امکان ارسال رو داشته باشه ، واقعا یک چیز عالی میشه ! ولی اگر نداشته باشه ، میشه گفت یه طورایی بدون استفاده خواهد بود ! چون شما حتی اگه بخواهی گزارشی رو بگیری ، باید یک کد یا یک عدد یا یک رشته یا یک مورد خاص رو بفرستی برای فرم گزارشت تا در فرم گزارش مثلا عملیات واکشی بر اساس اطلاعات دریافتی صورت بگیره !
    دوست عزیز نسخه 2 دارای قابلیت ارسال انواع مختلف شی با تعداد نامحدود است.
    با تشکر

  9. #9

    نقل قول: فرم انتظار

    سلام ! بازم از زحماتتون متشکر
    مشکل من الان این هست : چون من توی این پروژه خیلی متغییر ها رو از طریق فرم به فرم ارسال میکنم ، این خیلی ضرورت داره که ارسال متغییر ها درست انجام بشه از طریق معمولش !
    من یک نمونه کوچیک براتون میزارم که منظورم رو متوجه بشید :

    اگر این کد فرم فرعی باشه :
        public partial class Form2 : Form
    {

    public Form2(int x)
    {
    InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    System.Threading.Thread.Sleep(2000);
    LoadingForm.Waiting.ReportCompleted();
    }
    }


    و این کد فرم اصلی باشه

        public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }


    private void buttonX1_Click(object sender, EventArgs e)
    {
    Form2 form = new Form2(2);
    Waiting.CreateForm(typeof(Form2), form);
    }
    }


    در این حالت لودینگ گیر میکنه و اصلا نمیاد ! در واقع علتش هم اینه که اون ایکس به فرم فرعی داده نمیشه ! میخوام یه کاری کنید که بتونم اون ایکس رو پر کنم ! به همین صورت معمولش !
    والا من زیاد حرفه ای نیست ! البته ارسال اطلاعاتتون درست انجام میشد ها ! یعنی تونستم رشته و ... منتقل کنم ! ولی اگه بخوام این کارو کنم ، خیلی کارم سخت میشه ! چون توی پروژه خیلی موارد هستن که باید ارسال بشن ، اونم از انواع مختلف !
    اگه بشه دیگه اتوماتیک مثل form.show عمل کنه ، خیلی خوب میشه !

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

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

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    سلام ! بازم از زحماتتون متشکر
    مشکل من الان این هست : چون من توی این پروژه خیلی متغییر ها رو از طریق فرم به فرم ارسال میکنم ، این خیلی ضرورت داره که ارسال متغییر ها درست انجام بشه از طریق معمولش !
    من یک نمونه کوچیک براتون میزارم که منظورم رو متوجه بشید :

    اگر این کد فرم فرعی باشه :
        public partial class Form2 : Form
    {

    public Form2(int x)
    {
    InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    System.Threading.Thread.Sleep(2000);
    LoadingForm.Waiting.ReportCompleted();
    }
    }


    و این کد فرم اصلی باشه

        public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }


    private void buttonX1_Click(object sender, EventArgs e)
    {
    Form2 form = new Form2(2);
    Waiting.CreateForm(typeof(Form2), form);
    }
    }


    در این حالت لودینگ گیر میکنه و اصلا نمیاد ! در واقع علتش هم اینه که اون ایکس به فرم فرعی داده نمیشه ! میخوام یه کاری کنید که بتونم اون ایکس رو پر کنم ! به همین صورت معمولش !
    والا من زیاد حرفه ای نیست ! البته ارسال اطلاعاتتون درست انجام میشد ها ! یعنی تونستم رشته و ... منتقل کنم ! ولی اگه بخوام این کارو کنم ، خیلی کارم سخت میشه ! چون توی پروژه خیلی موارد هستن که باید ارسال بشن ، اونم از انواع مختلف !
    اگه بشه دیگه اتوماتیک مثل form.show عمل کنه ، خیلی خوب میشه !
    ----------------------------------------------
    //Form Child
    public partial class Form2 : Form
    {
    public Form2()
    {
    InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    System.Threading.Thread.Sleep(2000);
    int x=LoadingForm.Waiting.objMain as int;
    MessageBox.Show(x.ToString());
    LoadingForm.Waiting.ReportCompleted();
    }
    }

    //Form Main
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }


    private void buttonX1_Click(object sender, EventArgs e)
    {
    //Form2 form = new Form2(2);
    object objInt=2;
    Waiting.CreateForm(typeof(Form2), objInt);
    }
    }

  12. #12

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک
    ----------------------------------------------
    //Form Child
    public partial class Form2 : Form
    {
    public Form2()
    {
    InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    System.Threading.Thread.Sleep(2000);
    int x=LoadingForm.Waiting.objMain as int;
    MessageBox.Show(x.ToString());
    LoadingForm.Waiting.ReportCompleted();
    }
    }

    //Form Main
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }


    private void buttonX1_Click(object sender, EventArgs e)
    {
    //Form2 form = new Form2(2);
    object objInt=2;
    Waiting.CreateForm(typeof(Form2), objInt);
    }
    }
    بله ! البته میدونستم این موضوع رو !
    مسئله این بود که برای اینکار باید کلی تغییرات ایجاد کنم که احتمالا قاطی پاطی کنم توی فرم هام...بس که متغییر دارم ! چون تعدادشون زیاده !

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نسخه 3 اضافه شد و نسخه های قبلی پاک شدند
    لطفاً بعد از دانلود نظر و پیشنهاد فراموش نشود.
    با تشکر

  14. #14
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    بله ! البته میدونستم این موضوع رو !
    مسئله این بود که برای اینکار باید کلی تغییرات ایجاد کنم که احتمالا قاطی پاطی کنم توی فرم هام...بس که متغییر دارم ! چون تعدادشون زیاده !
    به نظرم یک بک آپ بگیر و بعد بنشین عمل جراحی روی فرمت انجام بده

  15. #15

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک
    به نظرم یک بک آپ بگیر و بعد بنشین عمل جراحی روی فرمت انجام بده
    آقا یه پیشنهاد دیگه برای تکیل شدن این پروژه !
    یه کاری کنی که لودینگ بدون باز شدن یه پنجره جدید هم کار کنه ! مثلا با زدن یک کلید ، باید یه چیزی لود بشه !
    حالا این اومدن پنجره لودینگ با زدن دکمه مثلا شروع بشه و بعد از اینکه عملیات لود انجام شد ، پایان ! یعنی هیچ فرم جدیدی در کار نیست ! فقط در همون فرم جاری عملیات لود انجام میشه !

    ببخشید ! من الان متوجه شدم که انگار چنین چیزی اضافه کردی... :)
    آخرین ویرایش به وسیله reza1699 : سه شنبه 01 بهمن 1392 در 19:17 عصر

  16. #16

    نقل قول: فرم انتظار

    میشه در خصوص این کد زیر منو راهنمایی کنید؟
    من میخوام رویداد فرم لود رو براش لودینگ بزارم !
    چیکار باید بکنم؟ببینید این کاری که کردم درسته؟


    private void Search_Recive_Load(object sender, EventArgs e)
    {
    Waiting.CreateWaitingForm(typeof(Search_Recive), this);

    cnn = new SqlConnection(cstr);
    try
    {
    cnn.Open();
    }
    catch (SqlException Err)
    {
    MessageBox.Show("ارتباط با بانک اطلاعاتی برقرار نیست.در صورت وجود مشکل با مدیر پروژه تماس بگیرید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

    System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-ir");
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);

    sql1 = "select no,date_no,sr_name,attach,archive,follow,details,a ct from letters where s_r=0 order by no";
    da = new SqlDataAdapter(sql1, cnn);
    dt = new DataTable();

    da.Fill(dt);
    dataGridViewX1.DataSource = dt;

    dataGridViewX1.Columns[0].HeaderText = "شماره";
    dataGridViewX1.Columns[1].HeaderText = "تاریخ صدور";
    dataGridViewX1.Columns[2].HeaderText = "فرستنده";
    dataGridViewX1.Columns[3].HeaderText = "پیوست";
    dataGridViewX1.Columns[4].HeaderText = "بایگانی";
    dataGridViewX1.Columns[5].HeaderText = "پیگیری";
    dataGridViewX1.Columns[6].HeaderText = "موضوع";
    dataGridViewX1.Columns[7].HeaderText = "دستور یا ارجاع";
    dataGridViewX1.Columns[0].Width = 50;
    dataGridViewX1.Columns[1].Width = 70;
    dataGridViewX1.Columns[2].Width = 200;
    dataGridViewX1.Columns[3].Width = 50;
    dataGridViewX1.Columns[4].Width = 100;
    dataGridViewX1.Columns[5].Width = 50;
    dataGridViewX1.Columns[6].Width = 200;
    dataGridViewX1.Columns[7].Width = 195;
    dataGridViewX1.ColumnHeadersDefaultCellStyle.Font = new Font("tahoma", 8);
    dataGridViewX1.ColumnHeadersDefaultCellStyle.Align ment = DataGridViewContentAlignment.TopCenter;
    dataGridViewX1.Font = new Font("tahoma", 8);
    dataGridViewX1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;

    label1.DataBindings.Clear();
    label1.DataBindings.Add("text", dt, "no");

    richTextBoxEx1.Clear();
    richTextBoxEx1.DataBindings.Clear();
    richTextBoxEx1.DataBindings.Add("text", dt, "details");

    richTextBoxEx2.Clear();
    richTextBoxEx2.DataBindings.Clear();
    richTextBoxEx2.DataBindings.Add("text", dt, "act");

    sql2 = "select archive_n from archive";
    da2 = new SqlDataAdapter(sql2, cnn);
    dt2 = new DataTable();
    da2.Fill(dt2);
    comboBoxEx1.DisplayMember = "archive_n";
    comboBoxEx1.DataSource = dt2;
    if (dt.Rows.Count != 0)
    label5.Text = Convert.ToString(dt.Rows.Count);
    else
    label5.Text = "0";
    comboBoxEx2.Items.Clear();
    comboBoxEx2.Items.Add("شماره نامه");
    comboBoxEx2.Items.Add("تاریخ صدور");
    comboBoxEx2.Items.Add("موضوع نامه");
    comboBoxEx2.Items.Add("نام فرستنده");
    comboBoxEx2.Items.Add("دستور یا ارجاع");
    comboBoxEx2.SelectedIndex = 3;
    comboBoxEx2.Enabled = true;

    int j = dataGridViewX1.Rows.Count - 1;
    dataGridViewX1.FirstDisplayedScrollingRowIndex = j ;

    Waiting.ReportCompletedInForm();

    }


    اینم اول فرمم هست با مشخصات و تشکیلات و این صوبتا...


    public partial class Search_Recive : Form
    {
    string cstr, sql1, sql2, datenow, time, backtime, backdate;
    SqlConnection cnn;
    SqlDataAdapter da, da1, da2;
    DataTable dt, dt1, dt2;
    byte[] binaryImage, empty = { };


    public Search_Recive(string cstr1)
    {
    cstr = cstr1;
    InitializeComponent();
    }

  17. #17
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    میشه در خصوص این کد زیر منو راهنمایی کنید؟
    من میخوام رویداد فرم لود رو براش لودینگ بزارم !
    چیکار باید بکنم؟ببینید این کاری که کردم درسته؟


    private void Search_Recive_Load(object sender, EventArgs e)
    {
    Waiting.CreateWaitingForm(typeof(Search_Recive), this);

    cnn = new SqlConnection(cstr);
    try
    {
    cnn.Open();
    }
    catch (SqlException Err)
    {
    MessageBox.Show("ارتباط با بانک اطلاعاتی برقرار نیست.در صورت وجود مشکل با مدیر پروژه تماس بگیرید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

    System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-ir");
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);

    sql1 = "select no,date_no,sr_name,attach,archive,follow,details,a ct from letters where s_r=0 order by no";
    da = new SqlDataAdapter(sql1, cnn);
    dt = new DataTable();

    da.Fill(dt);
    dataGridViewX1.DataSource = dt;

    dataGridViewX1.Columns[0].HeaderText = "شماره";
    dataGridViewX1.Columns[1].HeaderText = "تاریخ صدور";
    dataGridViewX1.Columns[2].HeaderText = "فرستنده";
    dataGridViewX1.Columns[3].HeaderText = "پیوست";
    dataGridViewX1.Columns[4].HeaderText = "بایگانی";
    dataGridViewX1.Columns[5].HeaderText = "پیگیری";
    dataGridViewX1.Columns[6].HeaderText = "موضوع";
    dataGridViewX1.Columns[7].HeaderText = "دستور یا ارجاع";
    dataGridViewX1.Columns[0].Width = 50;
    dataGridViewX1.Columns[1].Width = 70;
    dataGridViewX1.Columns[2].Width = 200;
    dataGridViewX1.Columns[3].Width = 50;
    dataGridViewX1.Columns[4].Width = 100;
    dataGridViewX1.Columns[5].Width = 50;
    dataGridViewX1.Columns[6].Width = 200;
    dataGridViewX1.Columns[7].Width = 195;
    dataGridViewX1.ColumnHeadersDefaultCellStyle.Font = new Font("tahoma", 8);
    dataGridViewX1.ColumnHeadersDefaultCellStyle.Align ment = DataGridViewContentAlignment.TopCenter;
    dataGridViewX1.Font = new Font("tahoma", 8);
    dataGridViewX1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft;

    label1.DataBindings.Clear();
    label1.DataBindings.Add("text", dt, "no");

    richTextBoxEx1.Clear();
    richTextBoxEx1.DataBindings.Clear();
    richTextBoxEx1.DataBindings.Add("text", dt, "details");

    richTextBoxEx2.Clear();
    richTextBoxEx2.DataBindings.Clear();
    richTextBoxEx2.DataBindings.Add("text", dt, "act");

    sql2 = "select archive_n from archive";
    da2 = new SqlDataAdapter(sql2, cnn);
    dt2 = new DataTable();
    da2.Fill(dt2);
    comboBoxEx1.DisplayMember = "archive_n";
    comboBoxEx1.DataSource = dt2;
    if (dt.Rows.Count != 0)
    label5.Text = Convert.ToString(dt.Rows.Count);
    else
    label5.Text = "0";
    comboBoxEx2.Items.Clear();
    comboBoxEx2.Items.Add("شماره نامه");
    comboBoxEx2.Items.Add("تاریخ صدور");
    comboBoxEx2.Items.Add("موضوع نامه");
    comboBoxEx2.Items.Add("نام فرستنده");
    comboBoxEx2.Items.Add("دستور یا ارجاع");
    comboBoxEx2.SelectedIndex = 3;
    comboBoxEx2.Enabled = true;

    int j = dataGridViewX1.Rows.Count - 1;
    dataGridViewX1.FirstDisplayedScrollingRowIndex = j ;

    Waiting.ReportCompletedInForm();

    }


    اینم اول فرمم هست با مشخصات و تشکیلات و این صوبتا...


    public partial class Search_Recive : Form
    {
    string cstr, sql1, sql2, datenow, time, backtime, backdate;
    SqlConnection cnn;
    SqlDataAdapter da, da1, da2;
    DataTable dt, dt1, dt2;
    byte[] binaryImage, empty = { };


    public Search_Recive(string cstr1)
    {
    cstr = cstr1;
    InitializeComponent();
    }
    این کدها کار نمیکنه، چیزی که شما نیاز دارین Splash Screen هست که تو نسخه بعدی(4) این قابلیت اضافه میشود.

  18. #18

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک
    این کدها کار نمیکنه، چیزی که شما نیاز دارین Splash Screen هست که تو نسخه بعدی(4) این قابلیت اضافه میشود.
    داداش من منتظرم ! اگه یک کاری کنید که بتونم توی فرم این کار رو انجام بدم به این صورتی که نوشتم (چیزی شبیه به این) تمام مشکلات من حله !

    من منتظر نسخه 4 هستم !
    یه لطفی هم اگه بکنید با ویژوال استادیو 2010 بنویسید پروژه مثال رو ممنون میشم ! چون 2012 روی سیستمم خیلی کنده و نمیشه نصبش کنم ! ممنون

  19. #19
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    داداش من منتظرم ! اگه یک کاری کنید که بتونم توی فرم این کار رو انجام بدم به این صورتی که نوشتم (چیزی شبیه به این) تمام مشکلات من حله !

    من منتظر نسخه 4 هستم !
    یه لطفی هم اگه بکنید با ویژوال استادیو 2010 بنویسید پروژه مثال رو ممنون میشم ! چون 2012 روی سیستمم خیلی کنده و نمیشه نصبش کنم ! ممنون
    نسخه 4 همراه با آموزش افزوده شد از آموزش قسمت Splash Screen استفاده کنید مشکلتان حل می شود.

  20. #20
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    یه لطفی هم اگه بکنید با ویژوال استادیو 2010 بنویسید پروژه مثال رو ممنون میشم ! چون 2012 روی سیستمم خیلی کنده و نمیشه نصبش کنم ! ممنون
    برای باز کردن فایل .sln (سولوشن) :
    این فایل را با نوت پد باز کنید و سپس این خط را
    Microsoft Visual Studio Solution File, Format Version 12.00

    را به این خط تبدیل کنید
    Microsoft Visual Studio Solution File, Format Version 11.00

  21. #21

    نقل قول: فرم انتظار

    داداش خیلی خوبه ! دمت گرم ! خیلی دارم نزدیک میشم به چیزی که میخوام ! یه مسئله ای فقط !
    من این رو اینجوری به کار بردم :

    private void buttonX1_Click(object sender, EventArgs e)
    {
    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(Search_Recive), this, false, false, "DoWork2");

    }
    public void DoWork2()
    {
    sql1 = "select * from attachs where no=" + label1.Text;
    SqlDataAdapter da3 = new SqlDataAdapter(sql1, cnn);
    DataTable dt3 = new DataTable();
    da3.Fill(dt3);
    Report f = new Report(2);

    sql1 = "select * from letters where no=" + label1.Text;
    da1 = new SqlDataAdapter(sql1, cnn);
    dt1 = new DataTable();
    da1.Fill(dt1);

    DataTable dtt = new DataTable();
    dtt = dt1.Copy();
    dtt.Merge(dt3);
    f.dt = dtt;
    f.ShowDialog();

    }

    همه چیز مرتبه ! فقط اون فرم جدیدم که باز میشه ، فرم لودینگ همچنان باقی مونده !
    تأکید میکنم من میخوام از این طریق فرم جدیدم باز بشه ! اینجوری بیشتر به دردم میخوره ! تا اینکه بخوام متغییرها رو جابجا کنم و این صوبتا !
    اگه بشه یه کدی بزارم توی رویداد لود فرم جدیدم که باز میشه تا اون پنجره لودینگ رو ببنده ، همه چی حله !

  22. #22

    نقل قول: فرم انتظار

    آقا این مسئله رو من اینجوری حل کردم : دم شما گرم ! کارم اوکی شد ! مرسی واقعا

            private void buttonX1_Click(object sender, EventArgs e)
    {
    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(Search_Recive), this, false, false, "DoWork2");
    buttonX5.PerformClick();

    }
    public void DoWork2()
    {

    sql1 = "select * from attachs where no=" + label1.Text;
    SqlDataAdapter da3 = new SqlDataAdapter(sql1, cnn);
    DataTable dt3 = new DataTable();
    da3.Fill(dt3);
    sql1 = "select * from letters where no=" + label1.Text;
    da1 = new SqlDataAdapter(sql1, cnn);
    dt1 = new DataTable();
    da1.Fill(dt1);

    dtt = new DataTable();
    dtt = dt1.Copy();
    dtt.Merge(dt3);

    }

    private void buttonX5_Click(object sender, EventArgs e)
    {
    Report f = new Report(2);
    f.dt = dtt;
    f.ShowDialog();
    }

  23. #23
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    آقا این مسئله رو من اینجوری حل کردم : دم شما گرم ! کارم اوکی شد ! مرسی واقعا
    خواهش میکنم، این همه ملت دانلود کردن و تشکر یادشون رفت! حداقل 300 خط کد نوشتم چند روز وقتم گرفته شد.

  24. #24

    نقل قول: فرم انتظار

    داداش کارت درسته ! حرف نداشت ! من کلی گشتم توی نت چیز مشابهش نبود !
    اگه بتونی روی پراگرس بارشم کار کنی ، یه چیز کامل میشه دیگه !
    چون این موضوع مشکل خیلی هاس ! من خیلی جاها دیدم بعنوان مشکل مطرح شده ! خصوصا اینکه این انتظار ، یک انتظار واقعیه ! و نه ثابت.

  25. #25
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط reza1699 مشاهده تاپیک
    داداش کارت درسته ! حرف نداشت ! من کلی گشتم توی نت چیز مشابهش نبود !
    اگه بتونی روی پراگرس بارشم کار کنی ، یه چیز کامل میشه دیگه !
    چون این موضوع مشکل خیلی هاس ! من خیلی جاها دیدم بعنوان مشکل مطرح شده ! خصوصا اینکه این انتظار ، یک انتظار واقعیه ! و نه ثابت.
    ممنونم از لطف شما اون قسمتش رو اگر ملت برنامه نویس احتیاج داشتن مینویسم.

  26. #26
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    باسلام
    ممنون از برنامت
    اما یه مشکل خیلی بد:
    مثلا وقتی یه عملیات لود سنگین دارم این رو که میارم تو برنامه اول صبر میکنه تا این فرم انتظار کارش تموم بشه،بعد تازه شروع میکنه به لود کردن
    چه کار کنم؟

  27. #27
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط sagggad مشاهده تاپیک
    باسلام
    ممنون از برنامت
    اما یه مشکل خیلی بد:
    مثلا وقتی یه عملیات لود سنگین دارم این رو که میارم تو برنامه اول صبر میکنه تا این فرم انتظار کارش تموم بشه،بعد تازه شروع میکنه به لود کردن
    چه کار کنم؟
    به خاطر این است که کدها را درست، به جاش بکار نبردین، ضمیمه کنید تا براتون درستش کنم

  28. #28
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    متاسفانه نمیتونم برنامه رو اپ کنم
    ببینید
    برنامه در فرم لود یک بانک خیلی سنگین رو وارد لیست باکس میکنه
    برای همین بالا اومدن فرم 6 ثانیه حدودا طول میکشه
    خوب حالا اگه میشه بگید من چه کدی رو در کجا بنویسم تا درست عمل کنه
    واقعا ممنونم

  29. #29
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط sagggad مشاهده تاپیک
    متاسفانه نمیتونم برنامه رو اپ کنم
    ببینید
    برنامه در فرم لود یک بانک خیلی سنگین رو وارد لیست باکس میکنه
    برای همین بالا اومدن فرم 6 ثانیه حدودا طول میکشه
    خوب حالا اگه میشه بگید من چه کدی رو در کجا بنویسم تا درست عمل کنه
    واقعا ممنونم
    شما باید از قسمت آموزش زیر استفاده کنید که در آن mainform همان فرمی است که باتن 6 قرار دارد:
    -------------------------------------
    نمایش فرم انتظار برای انجام عملی زمانبر در داخل فرم اصلی توسط متد غیر استاتیک CreateInForm
    ------------------------------------

  30. #30
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    ممنونم
    متغیر رو فرقی نداره در کجا تعریف کنیم؟

  31. #31
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    من از همین کد استفاده میکنم
    اما انگار برنامه تا وقتی که این فرم بسته نشه به کارش ادامه نمیده

  32. #32

    نقل قول: فرم انتظار

    با عرض سلام من با یه دستور ساده دارم سورس صفحه رو تو richtextbox میرزیم به صورت زیر قرار دادم.ولی اشکالش اینه که اول فرم انتظار میاد بعدش که رفت شروع میکنه به گرفتن سورس.درحالی که من میخوام روی دکمه که کلیک کردم بیاد و تا زمانی که سورس رو نگرفته باشه بعد حذف شه کد رو اینطوری گذاشتم مشکل الان کجاست؟

            LoadingForm.Waiting wt2 = new LoadingForm.Waiting();
    private void button1_Click(object sender, EventArgs e)
    {

    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(Form1), this, false, false, "DoWork2");




    //title
    string b, c;
    string url1 = textBox1.Text;
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url1);
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream());
    b = sr.ReadToEnd();
    richTextBox1.Text = b;
    }

    public void DoWork2()
    {
    //Simulate Heavy Processing
    System.Threading.Thread.Sleep(4000);
    }
    }


  33. #33
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط master 1 مشاهده تاپیک
    با عرض سلام من با یه دستور ساده دارم سورس صفحه رو تو richtextbox میرزیم به صورت زیر قرار دادم.ولی اشکالش اینه که اول فرم انتظار میاد بعدش که رفت شروع میکنه به گرفتن سورس.درحالی که من میخوام روی دکمه که کلیک کردم بیاد و تا زمانی که سورس رو نگرفته باشه بعد حذف شه کد رو اینطوری گذاشتم مشکل الان کجاست؟

            LoadingForm.Waiting wt2 = new LoadingForm.Waiting();
    private void button1_Click(object sender, EventArgs e)
    {

    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(Form1), this, false, false, "DoWork2");




    //title
    string b, c;
    string url1 = textBox1.Text;
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url1);
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream());
    b = sr.ReadToEnd();
    richTextBox1.Text = b;
    }

    public void DoWork2()
    {
    //Simulate Heavy Processing
    System.Threading.Thread.Sleep(4000);
    }
    }

    مشکل من هم دقیقا همینه

  34. #34

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط fmehrvarzi مشاهده تاپیک
    متغیرهایی که درون DoWork استفاده میشوند باید داخل DoWork تعریف شده باشند

    لطفا راهنمایی فرمایید اصلا اینطوری نوشتم درسته ؟اگه نست درستش رو بگید

  35. #35
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    نقل قول نوشته شده توسط master 1 مشاهده تاپیک
    با عرض سلام من با یه دستور ساده دارم سورس صفحه رو تو richtextbox میرزیم به صورت زیر قرار دادم.ولی اشکالش اینه که اول فرم انتظار میاد بعدش که رفت شروع میکنه به گرفتن سورس.درحالی که من میخوام روی دکمه که کلیک کردم بیاد و تا زمانی که سورس رو نگرفته باشه بعد حذف شه کد رو اینطوری گذاشتم مشکل الان کجاست؟

            LoadingForm.Waiting wt2 = new LoadingForm.Waiting();
    private void button1_Click(object sender, EventArgs e)
    {

    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(Form1), this, false, false, "DoWork2");




    //title
    string b, c;
    string url1 = textBox1.Text;
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url1);
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream());
    b = sr.ReadToEnd();
    richTextBox1.Text = b;
    }

    public void DoWork2()
    {
    //Simulate Heavy Processing
    System.Threading.Thread.Sleep(4000);
    }
    }

    بسیار ممنونم دوست عزیز از گزارش باگتون
    این یک باگ هست تو نسخه بعدی 4.1 در اسرع وقت ویرایش میشود.
    نمیتوان به اشیاء فرم اول در حالت Write دسترسی داشت.
    آخرین ویرایش به وسیله fmehrvarzi : جمعه 04 بهمن 1392 در 20:41 عصر

  36. #36

    نقل قول: فرم انتظار

    فایل رو ضمیمه نمیکنید

  37. #37
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    جناب fmehrvarzi ما منتظریم

  38. #38

    نقل قول: فرم انتظار

    فکر کنم اینجوری باید باشه

    LoadingForm.Waiting wt2 = new LoadingForm.Waiting();
    private void button1_Click(object sender, EventArgs e)
    {

    wt2.TextWaiting = "صبر کنید";
    wt2.CreateInForm(typeof(Form1), this, false, false, "DoWork2");





    }

    public void DoWork2()
    {
    //Simulate Heavy Processing
    System.Threading.Thread.Sleep(4000);

    //title
    string z2, c;
    string url1 = textBox1.Text;
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url1);
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream());
    b = sr.ReadToEnd();
    richTextBox1.Text = z2

    }
    }


    ولی تو این قسمت این اروور رو داده


    عکس های ضمیمه عکس های ضمیمه

  39. #39
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: فرم انتظار

    نه اینجوری هیچکار انجام نمیده
    کمـــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــک

  40. #40
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    {بین دو آکولاد}
    پست
    303

    نقل قول: فرم انتظار

    تو ورژن 4.1 این مشکل اصلاح شد آموزش در همان بخش با سه تذکر و متد ** اضافه شد، مثال بالا هم به پروژه به عنوان دمو اضافه شد.

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. پاسخ: 8
    آخرین پست: یک شنبه 30 تیر 1392, 18:03 عصر
  2. سوال: زمان انتظار برای لود شدن یک فرم
    نوشته شده توسط bahram1100 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 18 آبان 1390, 21:55 عصر
  3. فرم انتظار برای یک پردازش
    نوشته شده توسط saed2006 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 03 خرداد 1389, 12:47 عصر
  4. نمایش فرم انتظار
    نوشته شده توسط saed2006 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 11 فروردین 1389, 14:41 عصر
  5. سوال: نمایش فرم انتظار در هنگام اجرای یک عملیات
    نوشته شده توسط Morteza_s در بخش VB.NET
    پاسخ: 1
    آخرین پست: شنبه 06 مهر 1387, 11:47 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •