نوشته شده توسط
miladspeaker
سلام به اساتید عزیز.... یه مشکل اساسی دارم ... بینید من در حال نوشتن یه برنامه هستم که شما فرض بفرمایید 20 خط کد داره ... بعد در جایی از برنامه (مثلا خط 10) می خوام از کاربر یوزر و پسورد بگیرم... فقط زمانی که کاربر یوزر و پسورد رو درست وارد کرد 10 خط بعدی اجرا بشه ... چطوری می تونم اجرای برنامه رو تا زمانی که کاربر یوزر و پسورد رو وارد می کنه متوقف کنم؟
اگر برای دریافت کردن نام کاربری و رمز عبور فرم دیگری طراحی کرده اید، آن فرم رو ShowDialog کنید، تا زمانی که اون فرم بازه، روال اجرای کد شما بصورت خودکار
متوقف میشه، توی اون فرم باید رمز عبور و نام کاربری رو چک کنید تا فقط زمانی فرم بسته بشه که مقدارشون قابل قبوله. بعد که پنجره بسته شد بقیه کد شما
بصورت خودکار اجرا میشه :
.
.
.
Form2 f2 = new Form2();
f2.ShowDialog();
f2.Dispose();
.
.
.
اما اگر فرم دیگری برای دریافت رمز عبور و نام کاربری ندارید، نباید روال کد متوقف بشه، چون شما اگه اونجا روال برنامه رو متوقف کنید Thread ای
که فرم رو اداره می کنه متوقف کردید، در نتیجه دیگه کاربر نمی تونه توی فرم تون کاری انجام بده.
شما اون 10 خط بعدی رو ببرید جایی که رخداد TextChanged شدن مقدار داخل TextBox های Username و Password فراخوانی میشه.
اول چک کنید که نام کاربری و رمز عبور درسته و بعد اگه درست بود اون 10 خط کد رو اجرا کنید :
private void Form1_Load(object sender, EventArgs e)
{
textBox1.TextChanged += new EventHandler(UsernamePassword_TextChanged);
textBox2.TextChanged += new EventHandler(UsernamePassword_TextChanged);
}
void UsernamePassword_TextChanged(object sender, EventArgs e)
{
if ((textBox1.Text == "username") && (textBox2.Text == "password"))
{
//Your Code
}
}