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

نام تاپیک: اجرای تابع با خروج موس از تمام کنترلها و فرم

  1. #1

    اجرای تابع با خروج موس از تمام کنترلها و فرم

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

  2. #2

    نقل قول: اجرای تابع با خروج موس از تمام کنترلها و فرم

    تابع رو در پیاده سازی رویداد MouseLeave فرمتون فراخوانی کنید

    MouseLeave += Form1_MouseLeave;


    void Form1_MouseLeave(object sender, EventArgs e)
    {
    کدها یا فراخوانی تابع
    }




  3. #3

    نقل قول: اجرای تابع با خروج موس از تمام کنترلها و فرم

    نوشتم mouseleave نمیتونم استفاده کنم... چون اولا کنار های فرم کنترل هست بعد هم روی هر کنترلی که بره این رویداد واسه فرم اجرا میشه و تابع اجرا میشه که نمیخوام اجرا بشه فقط وقتی از کادر نرم افزار موس خارج شد میخوام انجام بشه تابع...

  4. #4

    نقل قول: اجرای تابع با خروج موس از تمام کنترلها و فرم

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

  5. #5

    نقل قول: اجرای تابع با خروج موس از تمام کنترلها و فرم

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

  6. #6

    نقل قول: اجرای تابع با خروج موس از تمام کنترلها و فرم

    آقا عجب کارایی میخوای بکنی ها

    بفرمایید این کدش همونجای قبلی بزار همون کاری که میخوای میکنه

    void Form1_MouseLeave(object sender, EventArgs e)
    {
    bool overControl = false;
    foreach (Control item in Controls)
    overControl |= item.RectangleToScreen(item.ClientRectangle).Conta ins(Cursor.Position);
    if (!overControl)
    Close();
    }

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

  1. اجرای تابع با پارامتر به صورت یک Thread.
    نوشته شده توسط hdv212 در بخش C#‎‎
    پاسخ: 16
    آخرین پست: یک شنبه 17 خرداد 1394, 00:11 صبح
  2. اجرای تابع
    نوشته شده توسط Himalaya در بخش C#‎‎
    پاسخ: 8
    آخرین پست: یک شنبه 16 دی 1386, 13:10 عصر
  3. مشکل در اجرای تابع session_start();
    نوشته شده توسط sweb در بخش PHP
    پاسخ: 11
    آخرین پست: چهارشنبه 15 فروردین 1386, 20:54 عصر
  4. اجرای تابع با اولویت بسیار بالا
    نوشته شده توسط DrDelphi2003 در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 08 دی 1384, 11:31 صبح
  5. اضافه کردن یک خصیصه به تمام کنترلها
    نوشته شده توسط PrinceDotNet در بخش VB.NET
    پاسخ: 0
    آخرین پست: چهارشنبه 02 آذر 1384, 18:11 عصر

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

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