PDA

View Full Version : سوال: صدا زدن رویداد click یک دکمه توسط کدنویسی ؟!...



ali_asg
شنبه 12 تیر 1389, 17:08 عصر
سلام

من توی فرم ، یه تکست باکس و یه دکمه دارم . اگه کاربر دکمه رو فشار بده ، اول یه سری اعمال روی اون متنی که توی تکست باکس هست انجام می ده بعد نتیجه رو درون مسیج باکس به نمایش در میاره . حالا من می خوام اگه کاربر توی تکست باکس کلید اینتر رو زد رویداد click دکمه انجام بشه ( انگار که کاربر دکمه رو فشار داده باشه ) خوب من واسه این کار کد زیر رو در رویداد kedown تکست باکس نوشتم ولی نمی دونم به جای "?" چی بنویسم .

لطفا من رو راهنمایی کنید.





if ( e.KeyValue == 13 ) ?

mehrsa_fr
شنبه 12 تیر 1389, 17:18 عصر
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Test");
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1_Click(null, null);
}
}

alireza_s_84
شنبه 12 تیر 1389, 19:11 عصر
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Test");
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1_Click(null, null);
}
}

دوست عزیز این روش شما یک مشکل داره و اون هم اینه که در اینجا Sender برابر null قرارگرفته و این میتونه مشکل ساز باشه.
هر Button دارای یک متد بنام PerformClick است که رویداد کلیک اون رو شبه سازی میکنه.
button1.PerformClick();
ضمنا روش دیگه برای اینکار به شکل زیر است:
button1_Click(button1, new EventArgs());
بکارگیری روش اول بهتر و منطقی تر است و راه حل این دوست ما میتواند بسیار مشکل ساز باشد.
موفق باشید

mmd2009
شنبه 12 تیر 1389, 20:25 عصر
و البته اینم میشه




button_click(sender,e);