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

نام تاپیک: جلوگیری از Alt + F4 و بستن فرم بدون استفاده از Close

  1. #1

    Question جلوگیری از Alt + F4 و بستن فرم بدون استفاده از Close

    دورد و صد بدرود بر مردمان ایران زمین

    1. چطور از رویداد Alt + F4 تو برنامه جلوگیری کنم ؟؟؟؟

    2. آیا تنها راه خارج شدن از فرم Close هست یا راه بهتری هم هست ؟؟؟
    چون وقتی KeyPrewio فرم فعال می کنی با انتر زدن فرم بسته می شه

    پایدار باشید.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    با سلام
    براى جلوگیرى از بسته شدن فرم توسط کلید Alt-F4 بهترین راه حل نوشتن کد در رویداد Closing است. این رویداد پس از ارسال فرمان بسته شدن فرم و پیش از انجام شدن آن فراخوانى مى‌شود و شما مى‌توانید با بررسى شرایط بسته شدن فرم در صورت نیاز آن را Cancel کنید.


    private void frmMyForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
    e.Cancel = true;
    }

    تذکر مهم: این کد بدون کنترل است و باعث مى‌شود که فرم در هیچ شرایطى بسته نشود. شما باید حتماً قبل از Cancel کردن شرط براى عمل کردن یا نکردن رویداد را بررسى کنید.

    صبا صبوحى

  3. #3

    Talking

    نقل قول نوشته شده توسط SabaSabouhi
    با سلام

    private void frmMyForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
    e.Cancel = true;
    }

    صبا صبوحى[/RIGHT]

    با تشکر از شما استاد عزیز

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

    مراحل

    1. باید اول یک متغیر سراسری تو فرم تعریف کنید ( اگر Bool باشه راحت تر)

    private bool close_form = false;


    2. کد زیر رو برای( Event ) متد FormClosing فرم مورد نظر تعریف کنید :

     #region Disable Alt+F4 for FormClosing 

    private void MyForm_FormClosing(object sender, FormClosingEventArgs e)
    {
    if (close_form == true)
    {
    new FormClosingEventArgs(CloseReason.UserClosing, true);
    }
    else
    {
    e.Cancel = true;
    }
    }
    #endregion


    3. در هر جا که می خواهید فرم بسته شود ( به هر دلیلی که از قبل در برنامه تعریف کردید مثلا اگر این حالت اتفاق افتاد - مثل زدن کلیدی توسط کاربر - فرم بسته شود ) کد زیر را قبل از متد ()Close اضافه می کنید
     close_form = true;


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

    اگر کسی هم جواب سوال دوم مرا تو این پست می دونه لطفا بفرمائید ؟؟؟؟

  4. #4

  5. #5
    نقل قول نوشته شده توسط bermooda
    به نظر شما اینجوری بنویسیم مشکلی پیش میاد؟
    privatre void Form1_FormClosing(object sender,FormClosingArgs e)
    {
    if(e.closeReason == closeReason.UserClosing)
    e.cancel = true;
    }
    من کد خودم رو با کول کول کردن و شانسی پیدا کردم
    و نمی دونم از نظر علمی درست یا نه و مشکلی بعدا پیش می یاره یا نه
    فعلا که کار می کنه و مشکلی هم نداره
    شما هم با توجه به برنامه خودتون کدتون رو امتحان مختلف کنید

  6. #6

    نقل قول: جلوگیری از Alt + F4 و بستن فرم بدون استفاده از Close

    سلام
    مرسی جناب احسان سامعی
    کد شما به درستی کار میکنه

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

  1. غیر فعال کردن دکمه ی close فرم
    نوشته شده توسط ameysams در بخش VB.NET
    پاسخ: 18
    آخرین پست: چهارشنبه 25 خرداد 1390, 12:33 عصر
  2. دکمه Close
    نوشته شده توسط sunboy در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: پنج شنبه 18 مهر 1387, 19:02 عصر
  3. زوم و دکمه close در کریستال ریپورت
    نوشته شده توسط shervin110uk در بخش VB.NET
    پاسخ: 0
    آخرین پست: شنبه 18 شهریور 1385, 16:24 عصر
  4. کاربرد دستور close
    نوشته شده توسط programmermp در بخش VB.NET
    پاسخ: 0
    آخرین پست: چهارشنبه 20 مهر 1384, 04:35 صبح
  5. کنترل دکمه close فرم
    نوشته شده توسط rezaei manesh در بخش VB.NET
    پاسخ: 3
    آخرین پست: یک شنبه 03 مهر 1384, 23:49 عصر

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

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