PDA

View Full Version : سوال: غیر فعال کردن ALT+F4



heartshunter
یک شنبه 10 شهریور 1387, 15:16 عصر
من چه جوری میتونم در فرم اصلی برنامم کلید ترکیبی ALT+F4 را غیر فعال کنم یا کاری کنم که وقتی زده شد یه فرم دیگه باز بشه :متفکر:

رضا عربلو
یک شنبه 10 شهریور 1387, 17:26 عصر
در اونت onclosing فرمت بتویس e.Cancel=true;

piroozman
دوشنبه 11 شهریور 1387, 01:17 صبح
در اونت onclosing فرمت بتویس e.Cancel=true;
عزیز سلام
می خواستم بدونم که این اونت onclosing فرم کجاست؟؟؟ من پیداش نکردم!!!!

Amir Oveisi
دوشنبه 11 شهریور 1387, 01:17 صبح
تو event‌مربوط به OnFormClosing :

if(e.CloseReason== CloseReason.UserClosing)
{
e.Cancel = true;
}

این فقط جلوی بسته شدن با ALT + F4 میگیره. و به بقیه حالت ها کاری نداره.

موفق باشید
jooje

Mahdi.Kiani
دوشنبه 11 شهریور 1387, 10:10 صبح
این فقط جلوی بسته شدن با ALT + F4 میگیره. و به بقیه حالت ها کاری نداره.



نه فقط ALT+F4





The user is closing the form through the user interface (UI), for example
by clicking the Close button on the form window, selecting Close from the
window's control menu, or pressing ALT+F4

m_1980
دوشنبه 11 شهریور 1387, 17:44 عصر
اگه بخواهیم با this.close بسته شه ولی باAlt+F4 نه
چه راهی پیشنهاد می کنید؟

h.jaza
دوشنبه 11 شهریور 1387, 19:22 عصر
باید اینو بنویسی:


private void Form1_KeyDown(object sender, KeyEventArgs e)
{
bool isBool = false;
if (e.KeyCode == Keys.Alt)
{
isBool = true;
}
if (e.KeyCode == Keys.F4)
{
e.Handled = true;
}
}

h.jaza
دوشنبه 11 شهریور 1387, 19:24 عصر
با کد بالا دیگه Alt + F4 کار نمی کنه ولی ()this.Close همچنان وست کار میکنه.

corona
دوشنبه 11 شهریور 1387, 19:27 عصر
ببخشید در مورد اون خط کد که نوشتید e.handled = true ميشه توضیح بدین که چی کار میکنه و اون handled نقشش چیه ؟

linux
دوشنبه 11 شهریور 1387, 20:02 عصر
من چه جوری میتونم در فرم اصلی برنامم کلید ترکیبی ALT+F4 را غیر فعال کنم یا کاری کنم که وقتی زده شد یه فرم دیگه باز بشه :متفکر:
احتمالا دنبال راه می گردید که کاربر فقط برنامه شما را اجرا کند ، به این حالت مود کیوسک گفته میشه بهترین گزینه نصب ویندوز امبدد هست

m_1980
سه شنبه 12 شهریور 1387, 09:37 صبح
با کد بالا دیگه Alt + F4 کار نمی کنه ولی ()this.Close همچنان وست کار میکنه.

نه متاسفانه . درست نشد

h.jaza
سه شنبه 12 شهریور 1387, 10:01 صبح
ببخشید در مورد اون خط کد که نوشتید e.handled = true ميشه توضیح بدین که چی کار میکنه و اون handled نقشش چیه ؟
هندل به رویداد اخیر اشاره میکنه و زمانی که ما اونو برابر true می کنیم، باعث میشه تا دیگه رویداد اخیر انجام نشه.

نه متاسفانه . درست نشد
من خودم تست کردم، هیچ مشکلی نداشت و کاملا درست عمل میکرد.

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

heartshunter
سه شنبه 12 شهریور 1387, 10:07 صبح
از همه ی دوستان به خاطر جواباشون تشکر میکنم

m_1980
سه شنبه 12 شهریور 1387, 16:24 عصر
ممنون
مشکلم حل شد