سلام
دوستان اگه لطف کنن کمکم کنن ممنون میشم
میخواستم وقتی کلید Enter رو فشار میدم , رویداد کلیک مربوط به یه button اجرا بشه
چیکار باید بکنم ؟
سلام
دوستان اگه لطف کنن کمکم کنن ممنون میشم
میخواستم وقتی کلید Enter رو فشار میدم , رویداد کلیک مربوط به یه button اجرا بشه
چیکار باید بکنم ؟
سلام
ابتدا خاصیت KeyPreview فرم را true کنید.
بعد باید تو رویداد KeyDown فرمت بگی که اگر کاربر اینتر رو زده بود تابع کلیک باتن رو صدا بزنه.
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1_Click(null, null);
}
}
مرسی مرتضی جان
فقط یه سوال ؟
چرا مقدار های Button1_Click رو Null گذاشتی ؟
فرقشون با (object sender, EventArgs e) چیه ؟
برای این null گذاشتم چون مقدار هایی که برای باتن میفرستیم برای ما اهمیت ندارن.
مثلا اگه با e و sender تو دستوراتت کار می کنی به جای null ، به تابع مقدار بفرست.
امیدوارم منظورمو رسونده باشم...
در ضمن به جای این کلمات از دکمه "تشکر کردن" استفاده کنیدمرسی مرتضی جان
اگه اهمیت نداره پس (object sender, EventArgs e) رو هم میتونیم بزاریم دیگه ؟
من گذاشتم ولی ایراد گرفت
راستی. اول دکمه ی تشکر رو زدم بعد لفظی تشکر کردم
ببین دوست من اگه میخوای براش مقدار بفرستی، پارامتر اول رو باید یه شئ از نوع object و پارامتر دوم رو یه نوع EventArgs بدی.
که به شخصه نمیدونم EventArgs دقیقا چیه!
مرسی از راهنماییت دوست من
به هر حال مشکلم حل شد
تشکر
کامپوننت های دات نت بار هم اینو به صورت آماده توی خصوصیاتشون دارن
دوستان کسی اطلاعاتی در مورد EventArgs داره؟؟؟؟؟؟؟
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1_Click(sender,e);
}
}
به این صورت هم می تونی بنویسی .
دوست عزیز به کد خودتون دقت کنید
اینجا اومدی از e که نوعش KeyEventArgs هست استفاده کردن یعنی e.KeyCode
در ویدادهای معمول sender برابر همون شئی و کنترلی هست که رویداد مطعلق به اونه (تو اون کد sender=Form1) و e اطلاعاتی در مورد اون رویداد رو در اختیار می ذاره که در اینجا e.KeyCode کلیدی هست که روی صفحه کلید فشرده شده (اطلاعات دیگه هم مثل حالت کلید های Ctrl,Alt,Shift رو هم میشه پیدا کرد)
در بعضی اوقات بدون وجود e عملا کاری از پیش نمیره (تو این کد باید فهمید کدوم کلید فشرده شد و گرنه...!)
-----------
و البته در جوابی که شما دادید این روش بهتره:
button1.PerformClick()
سلام
یعنی KeyEventArgs فقط برای گرفتن کلید های کیبورده؟
مثلا نمیشه جایی که موس کلیک کرده رو باش به دست آورد؟