نمایش نتایج 1 تا 7 از 7

نام تاپیک: نمایش پیغام در حال اجرا

  1. #1

    نمایش پیغام در حال اجرا

    سلام به همه دوستان عزیز
    من توی برنامم میخوام گزارشگیری رو انجام بدم و زمانی که روی کلید گزارشگیری کلیک میکنم چند ثانیه طول میکشه بعد گزارش مربوطه رو نشون میده. حالا میخوام بجای اون چند ثانیه ای ک گزارش رو تولید میکنه به کاربر یه پیغام نشون بده(یا مثلا یک شکل برای لودینگ نشون بده و بگه لطفا کمی صبر کنید)
    باتشکر

  2. #2
    کاربر دائمی آواتار ebrahim.rayatparvar
    تاریخ عضویت
    آبان 1392
    محل زندگی
    https://www.youtube.com/c/zangclass
    پست
    714

    نقل قول: نمایش پیغام درحال اجرا

    سلام مهندس جان
    بهتره یه فرم لودینگ برای خودت درست کنی و با معقوله threading این عملیات رو انجام بدی.

  3. #3

    نقل قول: نمایش پیغام درحال اجرا

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

  4. #4
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    نقل قول: نمایش پیغام درحال اجرا

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

    مثل این :



    اینجا وقتی داره از دیتابیس بکاپ میگیره این فرم رو نشون میده و وقتی بکاپ گرفته ... بلافاصله فرم انتظار بسته میشه !

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: نمایش پیغام درحال اجرا

    با سلام

    دوست عزیز

    من قبلا به این مشکل بر خوردم:


    private void frmShowReport_Load(object Sender, EventArgs e)
    {
    frmLoading frm = new frmLoading()
    frm.Show();

    this.Enabled = false;

    // اینجا کد تولید گزارش را قرار بده

    frm.Close();

    this.Enable = true;
    }



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

    بعد کد علمیات اجرا می شه اما فرم لودینگ در صفحه است.

    در زمانی که عملیات تمام می شود فرم لودینگ را ببند.
    و

    فرم اصلی را فعال کن.

    اگر ما فرم لودینگ را ShowDialog می کردیم دیگر ادامه کد تا بستن فرم ادامه پیدا نمی کرد. به خاطر همین مجبوریم فرم اصلی که داره عملیات را انجام می دهد غیر فعال کنیم.

    این روش برای زمانی هست که کار Thread سخت هست یا امکانپذیر نیست.

    امیدوارم منظورم را متوجه شده باشید.

    با تشکر

  6. #6
    کاربر دائمی آواتار ebrahim.rayatparvar
    تاریخ عضویت
    آبان 1392
    محل زندگی
    https://www.youtube.com/c/zangclass
    پست
    714

    نقل قول: نمایش پیغام درحال اجرا

    سلام مهندس جان.
    شما تو سایت یه سرچی بزنین تو همین انجمن میبینید تو معقوله ترید ها خیلی چیزها کفته شده. اینجور که من متوجه شدم شدم کار ترید رو خوب درک نکردی اصلا قصد توهین ندارم بد برداشت نکنید.
    کار ترید همنه که در یک آن چند عمل رو انجام بدی البته در یک آن رو نشون میده ولی به صورت داره رو پروسس های خودش جابجا میشه و همه رو اجرا میکنه چون شما در برنامه دارید از 1 ترید اصلی برنامه استفاده میکنید نمیشه فهمید به چه صورت میشه این کار رو کرد البته behzadkhan یه قطعه کد برای شما گذاشتن که به درستی کار میکنه ولی عاقلانه نیست به این صورت کار کرد. البته این هم بگم wating کامپوننت devexpress رو به همین روش که behzadkhan گفتند استفاده میکنند که خوب هم جواب میده.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: نمایش پیغام درحال اجرا

    نقل قول نوشته شده توسط ebrahim.rayatparvar مشاهده تاپیک
    سلام مهندس جان.
    شما تو سایت یه سرچی بزنین تو همین انجمن میبینید تو معقوله ترید ها خیلی چیزها کفته شده. اینجور که من متوجه شدم شدم کار ترید رو خوب درک نکردی اصلا قصد توهین ندارم بد برداشت نکنید.
    کار ترید همنه که در یک آن چند عمل رو انجام بدی البته در یک آن رو نشون میده ولی به صورت داره رو پروسس های خودش جابجا میشه و همه رو اجرا میکنه چون شما در برنامه دارید از 1 ترید اصلی برنامه استفاده میکنید نمیشه فهمید به چه صورت میشه این کار رو کرد البته behzadkhan یه قطعه کد برای شما گذاشتن که به درستی کار میکنه ولی عاقلانه نیست به این صورت کار کرد. البته این هم بگم wating کامپوننت devexpress رو به همین روش که behzadkhan گفتند استفاده میکنند که خوب هم جواب میده.
    با سلام

    دوست عزیز

    احتمالا من منظورم را بد توضیح دادم.

    من فقط می خواستم روشی را که از thread استفاده نمی کند توضیح بدهم.

    در کل مواقعی وجود دارد که فقط می توان از threadها برای حل مسائل استفاده کرد.

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

    ================================================== ===========

    راستی من برای حل همین مشکلی یک جا از thread استفاده کردم اما با وجود اینکه از ShowDialog استفاده کرده بودم فرم زیرینم غیر فعال نشد و مجبور شدم که Enable فرم زیرین را false کنم.

    البته علتش هم مشخص هست چون من درون thread فرم را ShowDialog کردم.


    آیا شما توانسته اید این مشکل را به غیر false کردن Enable فرم زیرین برطرف کنید؟

    با تشکر

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

  1. حرفه ای: نمایش زمان جاری در برنامه در حال اجرا
    نوشته شده توسط K.Mohammadreza در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 7
    آخرین پست: پنج شنبه 24 فروردین 1391, 15:03 عصر
  2. نمایش پیغام در حال بارگزاری
    نوشته شده توسط aliyeh در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: جمعه 30 اردیبهشت 1390, 13:46 عصر
  3. نمایش پروسس های در حال اجرا ؟؟؟
    نوشته شده توسط mahdi68 در بخش C#‎‎
    پاسخ: 9
    آخرین پست: یک شنبه 26 اردیبهشت 1389, 09:05 صبح
  4. عدم نمایش پیغام خطا درهنگام اجرا
    نوشته شده توسط nassim_20 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 11
    آخرین پست: سه شنبه 12 شهریور 1387, 10:56 صبح
  5. چگونگی نمایش پیغام سایت در حال بارگذاری است؟
    نوشته شده توسط olkamiz در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 16 مرداد 1387, 14:46 عصر

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

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