درود دوستان چطوری میتونم دکمه Button که برای فرم گذاشتم رو توسط دکمه های enter و space کیبورد فرمان پذیر کنم؟
درود دوستان چطوری میتونم دکمه Button که برای فرم گذاشتم رو توسط دکمه های enter و space کیبورد فرمان پذیر کنم؟
آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 02 اسفند 1394 در 15:11 عصر
Tabindex دکمه رو صفر قرار بده البته دیگر کنترل ها نیز نباید صفر باشند این برای فوکوس است
سلام
private void Frm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
Button1_Click(null, null);
}
با تشکر از شما.
مقدار پیش فرضش 61 بود.0 کردم.ولی به محض اجرای برنامه عمل میکرد.بدون اینکه من دکمه ای بزنم.و وقتی کلیک میکردم داخل تکست باکس واسه دادن ورودی،باز button خاموش میشد.
یعنی وقتی ابتدا، برنامه اجرا میشه دکمه button اتومات عمل میکنه.و چون همچنان روشن هست با زدن دکمه اینتر و اسپیس هم عمل میکنه منتها تا قبل اینکه بخوای داخل تکست باکس چیزی بنویسی.
برنامه من 3 تا ورودی میگیره از کاربر و بعد با زدن دکمه button یه سری محاسبات میکنه و در 7 خروجی تحویل میده.
باید اینجوری باشه که تا زمانی که 3 تا تکست باکس ورودی نگرفته دکمه button خاموش بمونه.
تو رویداد TextChanged هر سه تکست باکس بگو اگر هرسه تکست باکس تکستشون مخالف null بود دکمه باتن فعال شه.میتونی تو رویداد leave هم همینو بگی
آخرین ویرایش به وسیله miillad : چهارشنبه 05 اسفند 1394 در 10:29 صبح
داداش من همین دستور رو تو leave تکست باکس هم گذاشتم ولی فرقی نکرد
این دستور Button رو فوکوس نمی کنه که، دستورات داخلش رو اتوماتیک اجرا می کنه که همون کاری که شما می خوای رو بدون زحمت کلیک کردن انجام میده
ولی اگه میخوای فوکوس کنه یه خورده تغییرش بده :
private void Frm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
Button1.Focus();
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
foreach (var tb in Controls.OfType<TextBox>())
tb.TextChanged += textBox_TextChanged;
}
void textBox_TextChanged(object sender, EventArgs e)
{
button1.Enabled = !(string.IsNullOrEmpty(textBox1.Text.Trim())
|| string.IsNullOrEmpty(textBox2.Text.Trim())
|| string.IsNullOrEmpty(textBox3.Text.Trim()));
}
private void Form2_Load(object sender, EventArgs e)
{
button1.Enabled = false;
KeyPreview = true;
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Button is clicked");
}
private void Form2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Enter) return;
if (button1.Enabled)
button1_Click(null, null);
}
}
First,solve the problem then write the code