PDA

View Full Version : سوال: کلید صفحه در فرمی دیگر



shadidayan
پنج شنبه 03 بهمن 1387, 23:55 عصر
با سلام
فرمی دارم که توسط فرم دیگر باز می شود.بر روی این فرم می خواهم وقتی که دکمه Esc از صفحه کلید فشرده شد این صفحه را ببند ولی این کار را فقط برای فرم هایی که توسط فرمی باز نشده باشند اجرا می شود اگه میشه اشکال این کار را به من بگویید



private void add_havale_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Escape)
MessageBox.Show("dfd");
}

Mahdi.Kiani
جمعه 04 بهمن 1387, 00:33 صبح
برای این منظور نیاز به کد نویسی برای رویداد خاصی از فرم نیست.
در رویداد کیلک مربوط به یکی از دکمه های فرمتو، دستور بستن فرم را بنویسید:


this.Close();


سپس خاصیت CancelButton را بر روی دکمه مذکور تنظیم کنید.
در واقع خاصیت CancelButton فرم، با عث می شود که زمانی که کاربر کلید esc را فشرد، کد های مروبط به رویداد کلیک دکمه ای که به خاصیت cancelButton نسبت داده شده است، اجرا گردد. که معمولا این کد ها مربوط به بستن فرم جاری مباشد.

saeed-kh
جمعه 04 بهمن 1387, 10:41 صبح
در واقع خاصیت CancelButton فرم، با عث می شود که زمانی که کاربر کلید esc را فشرد

وخاصیتAcceptButtonبرای وقتی که کلید Enterزده میشه:خجالت::

shadidayan
جمعه 04 بهمن 1387, 16:20 عصر
با تشکر
من این خاصیت CancelButton فرم، را متوجه نشدم و وقتی که برای یک دکمه از فرم کد بالا را می نویسم اجرا می شود ولی اگه برای دکمه دیگری کد با صفحه کلید بن.یسم اجرا نمی شود اگه میشه بیشتر توضیح دهید.همچنین خاصیت خاصیتAcceptButton را نفهمیدم.
privatevoid buttonXP2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Escape)
this.Close();
}
privatevoid buttonXP3_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
pardakht o=newpardakht();
o.ShowDialog();
}
}
در اینجا وقتی Esc را می زنم صفحه بسته می شود ولی با اینتر صفحه دلخواه باز نمیشه

AmirAlimadadi
شنبه 05 بهمن 1387, 15:35 عصر
باید متد
ProcessCmdKey رو از فرم خودت override کنی

Mahdi.Kiani
شنبه 05 بهمن 1387, 16:07 عصر
من این خاصیت CancelButton فرم، را متوجه نشدم
همچنین خاصیت خاصیتAcceptButton را نفهمیدم.

Form.CancelButton Property (http://msdn.microsoft.com/en-us/library/system.windows.forms.form.cancelbutton.aspx)

Form.AcceptButton Property (http://msdn.microsoft.com/en-us/library/system.windows.forms.form.acceptbutton.aspx)