تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 4 1234 آخرآخر
نمايش نتايج 1 به 10 از 31

نام تاپيک: جلوگیری از اجرای دستور click در هنگام doubleclick در notifyicon

  1. #1
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض جلوگیری از اجرای دستور click در هنگام doubleclick در notifyicon

    سلام
    من برای برنامه ام یک NotifyIcon قرار دادم که وقتی روی آیکون کلیک میشه یک فرم باز میشه و وقتی دابل کلیک میشه یک فرم دیگر.
    فرمی هم که با تک کلیک باز میشه یکم سنگینه و دیر باز میشه برای همین وقتی من دابل کلیک می کنم و میخوام فرم دوم باز بشه اول فرم اول باز میشه سپس فرم دوم و این آزار دهنده است.
    نمیشه کاری کرد که وقتی دابل کلیک می کنیم دیگه دستور کلیک اجرا نشه تا اون فرم اول که سنگین هست باز نشه؟
    راه بهتری رو سراغ دارید ممنون میشم کمک کنید.

  2. #2
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

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

  3. #3
    کـاربـر بـاسـابـقـه saeed_136915's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    The Land of Skyrim
    پست ها
    2,715

    پيش فرض

    سلام.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  4. #4
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    سلام.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سلام.
    ممنون از وقتی که گذاشتید . اما این کد اصلا کار نکرد . البته اگرم کار می کرد فکر نکنم استفاده از تایمر زیاد روش جالبی باشه.
    ممنون میشم اگه راه حل دیگه ای که کار کنه دارید کمک کنید.

  5. #5
    کـاربـر بـاسـابـقـه saeed_136915's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    The Land of Skyrim
    پست ها
    2,715

    پيش فرض

    سلام.
    کار کردنش که کار میکنه ولی باید event ها رو خودتون ست کنین و تایمر رو initialize بکنین...
    راه حل دیگه ای فکر نکنم داشته باشه چون قبل از دابل کلیک اصولا کلیک هم فایر میشه...

  6. #6
    کـاربـر بـاسـابـقـه szh_1367's Avatar
    تاريخ عضويت
    Apr 2007
    پست ها
    1,007

    پيش فرض

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

    راه حل دیگه : راست کلیک و چپ کلیک کردن فرم ها

  7. #7
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    سلام.
    کار کردنش که کار میکنه ولی باید event ها رو خودتون ست کنین و تایمر رو initialize بکنین...
    راه حل دیگه ای فکر نکنم داشته باشه چون قبل از دابل کلیک اصولا کلیک هم فایر میشه...
    منونم
    راستش منظورم این بود که این کد وقتی هنوز روی نوتیفی آیکون کلیکی نکردیم single کلیک رو یک بار در اجرای اول برنامه فراخوانی کرد. شاید به خاطر بالن یا منو برای کلیک راستش بوده که گذاشتم و اینکه براش فرقی بین کلیک راست و چپ نداره و در هر دو صورت اجرا میشه.

    اتفاقا تایمر ایده خوبی هست

    راه حل دیگه : راست کلیک و چپ کلیک کردن فرم ها
    نمیدونم از نظر اینکه استفاده از تایمر روش خوبی مشکلی نیست ولی اینک تایمر توی برنامه زیاد بشه یکم غیر حرفه ای به نظر میاد که به خاطر یک کلیک بخواهیم برنامه رو در گیر تایمر کنیم و سرعت رو کمی پایین بیاره.
    برای کلیک راست منو گذاشتم باز بشه نمیشه چپ و راستش کرد

  8. #8
    کـاربـر بـاسـابـقـه szh_1367's Avatar
    تاريخ عضويت
    Apr 2007
    پست ها
    1,007

    پيش فرض

    منونم
    راستش منظورم این بود که این کد وقتی هنوز روی نوتیفی آیکون کلیکی نکردیم single کلیک رو یک بار در اجرای اول برنامه فراخوانی کرد. شاید به خاطر بالن یا منو برای کلیک راستش بوده که گذاشتم و اینکه براش فرقی بین کلیک راست و چپ نداره و در هر دو صورت اجرا میشه.



    نمیدونم از نظر اینکه استفاده از تایمر روش خوبی مشکلی نیست ولی اینک تایمر توی برنامه زیاد بشه یکم غیر حرفه ای به نظر میاد که به خاطر یک کلیک بخواهیم برنامه رو در گیر تایمر کنیم و سرعت رو کمی پایین بیاره.
    برای کلیک راست منو گذاشتم باز بشه نمیشه چپ و راستش کرد
    من اطلاعات دقیقی از برنامه ات ندارم که بخواهم ایده ای بهت بدهم مثل اینکه دارم تو تاریکی تیراندازی میکنم

    میتونی هر دو فرم رو در یک تب پیج قرار بدی با تاخیری که در اجرای صفحه ایجاد میشه نرم افزار یکی از تب پیج ها رو غیر فعال کنه




  9. #9
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    من اطلاعات دقیقی از برنامه ات ندارم که بخواهم ایده ای بهت بدهم مثل اینکه دارم تو تاریکی تیراندازی میکنم

    میتونی هر دو فرم رو در یک تب پیج قرار بدی با تاخیری که در اجرای صفحه ایجاد میشه نرم افزار یکی از تب پیج ها رو غیر فعال کنه



    راستش برنامه من یه آیکون در نوار استارت کنار ساعت داره (notifyicon) که وقتی روی آیکون کلیک راست می کنم یک منو باز میشه . و وقتی روی آیکون تک کلیک(چپ) می کنم فرم ۱ باز میشه و وقتی دابل کلیک می کنم فرم ۲ باز میشه.
    مشکل اینجاست که فرم اول من توش کنترل زیاد داره و حجم دستورایی هم که توش اجرا و انجام میشه زیاده برای همین موقع باز شدنش کمی تاخیر ایجاد میشه و زمان میبره.
    حالا وقتی روی آیکون دابل کلیک کنم وقتی میخواد فرم ۲ اجرا بشه اول دستور تک کلیک که همون اجرای فرم ۱ (فرم سنگین) هست اجرا میشه و همین باعث میشه که فرم ۲ که فرم سبکی هست با تاخیر اجرا بشه که این موضوع آزار دهنده است.
    به نظر شما استفاده از نخ (threadin) البته اگه درست نوشته باشم روش مناسبیه؟ البته من تا حالا باهاش کار نکردم نمیدونم چجوریه ولی به نظرتون میشه از طریق thread کاری کرد که هردو دستور با هم اجرا بشه همزمان, که اون تاخیر ایجاد نشه؟ و مجبور نباشیم که صبر کنیم تا دستورات کلیک ابتدا به صورت کامل اجرا بشه(اجرا شدن فرم ۱ ) و سپس دستورات دابل کلکیک (اجرا شدن فرم ۲ ) .

  10. #10
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض

    راستش برنامه من یه آیکون در نوار استارت کنار ساعت داره (notifyicon) که وقتی روی آیکون کلیک راست می کنم یک منو باز میشه . و وقتی روی آیکون تک کلیک(چپ) می کنم فرم ۱ باز میشه و وقتی دابل کلیک می کنم فرم ۲ باز میشه.
    مشکل اینجاست که فرم اول من توش کنترل زیاد داره و حجم دستورایی هم که توش اجرا و انجام میشه زیاده برای همین موقع باز شدنش کمی تاخیر ایجاد میشه و زمان میبره.
    حالا وقتی روی آیکون دابل کلیک کنم وقتی میخواد فرم ۲ اجرا بشه اول دستور تک کلیک که همون اجرای فرم ۱ (فرم سنگین) هست اجرا میشه و همین باعث میشه که فرم ۲ که فرم سبکی هست با تاخیر اجرا بشه که این موضوع آزار دهنده است.
    به نظر شما استفاده از نخ (threadin) البته اگه درست نوشته باشم روش مناسبیه؟ البته من تا حالا باهاش کار نکردم نمیدونم چجوریه ولی به نظرتون میشه از طریق thread کاری کرد که هردو دستور با هم اجرا بشه همزمان, که اون تاخیر ایجاد نشه؟ و مجبور نباشیم که صبر کنیم تا دستورات کلیک ابتدا به صورت کامل اجرا بشه(اجرا شدن فرم ۱ ) و سپس دستورات دابل کلکیک (اجرا شدن فرم ۲ ) .
    سلام.
    بله شما باید از Task یا Thread استفاده کنید و رویداد کلیک رو با تاخیر اجرا کنید مثلاً توی 1 ثانیه چک کنید اگر دابل کیک شد رویداد کلیک دیگه کنسل میشه و اگر توی یک ثانیه دابل کلیک نشد رویداد کلیک رو اجرا کنید.
    هیچ راه دیگه ای به ذهنم نمیرسه چون رویداد کلیک همیشه زودتر از دابل کلیک اجرا میشه.

صفحه 1 از 4 1234 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •