PDA

View Full Version : سوال: در مورد رویداد فشردن enter



amin.net
یک شنبه 25 مرداد 1394, 01:56 صبح
سلام به همه.یه برنامه نوشتم که دارای یک تکست باکس هست که اگه داخل اون کلمات close یا exit یا quit رو کاربر تایپ کنه،برنامه خارج بشه این کد:

public void textBox1_TextChanged(object sender, EventArgs e)
{

if (textBox1.Text == "EXIT" || textBox1.Text == "QUIT" || textBox1.Text == "CLOSE" || textBox1.Text == "exit" || textBox1.Text == "quit" || textBox1.Text == "close" )
Close();
}
تا اینحا که تمرین کتاب بود.خودم میخواستم این قابلیت رو بهش اضاف کنم که برنامه بعد از تایپ کلمات فوق و سپس فشردن کلید enter عمل خروج رو انجام بده اما مغزم نکشد!!اگه میشه اساتید زاهنمایی کنند.
و یک سوال دیگه:
با توجه به کدی که من نوشتم اگر کاریری یکی از کلمات رو کوچک و بزرگ بنویسه:مثلا بنویسه "ExIt" به جای اون چیزایی که تو شرط گفتیم.مسلما برنامه به درستی عمل نمیکنه راهی هست که این مشکل رو برطرف کرد؟؟مثلا به برنامه بگیم هرچی کاربر وارد کرد(چه بزرگ و چه کوچک) خودت برای خودت کل خروف بزرگ یا کوچک کن بعد با شرط ما چک کن؟؟...یا هر راه دیگه ای.
خیلی ممنون از همگی.

محمد آشتیانی
یک شنبه 25 مرداد 1394, 02:36 صبح
سلام
چیزی شبیه به این (کدت رو باید در رویداد KeyDown بنویسی)

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.Enter) && ((textBox1.Text.ToLower() == "exit") || (textBox1.Text.ToLower() == "close")))
{
this.Close();
}
}





با توجه به کدی که من نوشتم اگر کاریری یکی از کلمات رو کوچک و بزرگ بنویسه:مثلا بنویسه "ExIt" به جای اون چیزایی که تو شرط گفتیم.مسلما برنامه به درستی عمل نمیکنه راهی هست که این مشکل رو برطرف کرد؟؟مثلا به برنامه بگیم هرچی کاربر وارد کرد(چه بزرگ و چه کوچک) خودت برای خودت کل خروف بزرگ یا کوچک کن بعد با شرط ما چک کن؟؟...یا هر راه دیگه ای.


در شرطت کلمات رو با حروف کوچک بنویس و برای مقایسه از ToLower استفاده کن (شبیه مثال بالا)


موفق باشید.