PDA

View Full Version : چک کردن فشرده شدن دکمه ای در شرط



duji6967
پنج شنبه 17 اسفند 1391, 17:23 عصر
سلام
من می خوام تو شرط if فشرده شدن دکمه ای رو چک کنم اما دقیقا نمی دونم چطوری می شه این کارو کرد.
مثلا یه چی تو این مایه ها: (true==فشرده شدن دکمه)if
ممنون می شم اگه کمک کنین
با سپاس فراوان

abbas.oveissi
پنج شنبه 17 اسفند 1391, 17:31 عصر
سلام
توضیح ندادین برای چرا میخواهید این کار را انجام بدید تا بشه دقیق تر توضیح بدم.اما دو تا راه کلی دارید :
1- در رخداد کلیک کردن دکمتون هر کاری که لازمه بعد از کلیک بر روی دکمه انجام بشه رو بنویسید
2- یه متغیر تعریف کنید، و توی رخداد کلیک کردن دکمتون آن را true کنید تا هرجایی خواستید با استفاده از این متغیر چک کنید که بر روی دکمه کلیک شده یا نه و کاری که میخواین انجام بدید

اگه مشکلی بود بگید توضیح بدم یا مثال براتون بذارم

nunegandom
پنج شنبه 17 اسفند 1391, 17:32 عصر
سلام
KeyPreview رو داخل فرم True کن بعدشم از کلاس Keys استفاده کن، مثلا:Keys.Enter

duji6967
پنج شنبه 17 اسفند 1391, 17:43 عصر
ممنون با همین روش کارم راه افتاد
سلام
توضیح ندادین برای چرا میخواهید این کار را انجام بدید تا بشه دقیق تر توضیح بدم.اما دو تا راه کلی دارید :
1- در رخداد کلیک کردن دکمتون هر کاری که لازمه بعد از کلیک بر روی دکمه انجام بشه رو بنویسید
2- یه متغیر تعریف کنید، و توی رخداد کلیک کردن دکمتون آن را true کنید تا هرجایی خواستید با استفاده از این متغیر چک کنید که بر روی دکمه کلیک شده یا نه و کاری که میخواین انجام بدید

اگه مشکلی بود بگید توضیح بدم یا مثال براتون بذارم

duji6967
چهارشنبه 30 اسفند 1391, 00:10 صبح
می تونی بیشتر راهنمایی کنی .
یه مثال جزئی بزن بفهمم
سلام
KeyPreview رو داخل فرم True کن بعدشم از کلاس Keys استفاده کن، مثلا:Keys.Enter

haghshenasmahdi
چهارشنبه 30 اسفند 1391, 00:15 صبح
ببین دوست عزیز شما می تونی یه تایمر بزاری و با فشرده شدن دکمه تایمر روشن بشه بعد تو رخ داد تایمر یه متغیر رو برابر یه عدد بدی و در نهایت تو شرط بگی اگه این متغییر برابر فلان عدد بود ......... اگه خواستی پیام بده کدش رو واست بزارم

RED-C0DE
چهارشنبه 30 اسفند 1391, 00:36 صبح
صورت مسئله رو بیشتر توضیح بده
شاید کلا داری راه رو اشتباه می ری.
مثلا با گذاشتن یک CheckBox خیلی راحت تر ب جواب برسی

duji6967
چهارشنبه 30 اسفند 1391, 01:27 صبح
مثلا من یه همچین برنامه ای دارم که توش سه تا دکمه دارم .
int m = 0;
bool a1 = false;
bool a2 = false;
for (int i = 0; i < 4; i++)
{
if (a1 == true) چک کردن کلیک دکمه 1
{
m = 1;
a1 = false;
}
else if (a2 == true) چک کردن کلیک دکمه2
{
m = 2;
a2 = false;
}
MessageBox.Show("Selected Button is : " + m);


تو رویداد های مربوط به دکمه های 1 و 2 مقدار a1 و a2 به true تبدیل شدن.
من تو این برنامه یه حلقه 4 تایی دارم و می خوام وقتی که هر دور رو می خواد اجرا کنه منتظر بمونه تا من حتما یکی از دکمه ها رو کلیک کنم تا بره به دور بعد و تا دکمه ای رو کلیک نکنم حلقه منتظر کلیک یکی از دکمه ها بمونه.
مشکل کد های بالا اینه که شرط رو چک می کنه و نتیجه رو نشون می ده و منتظر نمی مونه تا دکمه ای رو کلیک کنیم . من دنبال اینم که چطوری می شه این کار رو انجام داد؟

Mahmoud.Afrad
چهارشنبه 30 اسفند 1391, 05:45 صبح
برای اینکه با کلیک روی هر باتن به مرحله بعد برید(یعنی یک سری کد اجرا بشه) میتونید توسط یک متغیر به عنوان شمارنده و یک متد این کار رو انجام بدید همونطور که قبلا هم بهتون گفتم شما یک متد مینویسید و رویداد هر چهار دکمه را روی این رویداد تنظیم می کنید.

UInt16 i = 0;
private void btn_Click(object sender, EventArgs e)
{
i++;
if (i == 1)
{
//
}
else if (i == 2)
{
//
}
else if (i == 3)
{
//
}
else if (i == 4)
{
//
}
}

برای اینکه هر چهار باتن از این رویداد استفاده کنند هر چهار باتن رو سلکت کنید و به پنجره Events برید و رویداد کلیک رو روی btn_Click قرار بدید.



اگر هم دقیقا بگید این کار رو برای چی میخواید انجام بدید دوستان راه بهتری ممکنه به نظرشون برسه.

duji6967
چهارشنبه 07 فروردین 1392, 23:27 عصر
ممنون از کلیه دوستان
به طور کلی از مطرح کردن یه همچین سوالی پشیمون شدم چون هر چی توضیح می دم راجع به برنامه باز یکی از دوستان می اد و می گه یکم دیگه راجع به برنامه توضیح بده...