1 ضمیمه
بررسی خالی بودن تمام جعبه های متن!!!
سلام؛
فرم زیر رو در نظر بگیرید:
ضمیمه 133398
میخوام وقتی کاربر هر کدوم از جعبه ها رو خالی گذاشت، PictureBox جلوش نمایش داده بشه!
الآن با این کدی که من نوشتم اول چک میکنم اگه همه ی جعبه ها خالی بود همه ی PictureBox ها رو فعال میکنم، بعد به ترتیب از اول همه رو چک میکنم...
که این کار باعث میشه اولین جعبه ی متن خالی نمایش داده بشه!
if (txt_Username.Text == "" & txt_Password.Text == "" & txt_RepeatPassword.Text == "" & txt_PasswordReminder.Text == "" & userPrivilage_ComboBox.Text == "")
{
// Alter_PictureBox1.Visible = true; Alter_PictureBox2.Visible = true; Alter_PictureBox3.Visible = true; Alter_PictureBox4.Visible = true; Alter_PictureBox5.Visible = true;
AlterViewer(this);
}
else if (txt_Username.Text == "")
Alter_PictureBox1.Visible = true;
else if (txt_Password.Text == "")
Alter_PictureBox2.Visible = true;
else if (txt_RepeatPassword.Text == "")
Alter_PictureBox3.Visible = true;
else if (txt_PasswordReminder.Text == "")
Alter_PictureBox4.Visible = true;
else if (userPrivilage_ComboBox.Text == "")
Alter_PictureBox5.Visible = true;
else if (txt_Password.Text.Length <= 6)
{
Msg.MsgBoxAraz("گذرواژه باید بیشتر از شش کاراکتر باشد", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txt_Password.Text = "";
txt_RepeatPassword.Text = "";
}
else
{
در واقع ساز و کاری نیاز دارم تا همه ی جعبه ها رو چک کنه هر کدوم خالی بود PictureBox جلوش فعال بشه!
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
سلام
string txt = null;
for (int i = 1; i <= 2; i++)
{
txt= Form1.ActiveForm.Controls["textBox" + i.ToString()].Text;
if(string.IsNullOrEmpty(txt))
Form1.ActiveForm.Controls["pictureBox" + i.ToString()].Visible = true;
else
Form1.ActiveForm.Controls["pictureBox" + i.ToString()].Visible = false;
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
راه بهترشم استفاده از کنترل errorProvider هست
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
نقل قول:
نوشته شده توسط
pbm_soy
اگه اسم تکست باکسها چیز دیگری باشد چی؟
البته controls. یک آرایه است و میتوان با اندیس به آنها دسترسی داشت ولی همه کنترلها را میدهد نه تکست باکسها!
اگه بخوان از این روش استفاده کنن باید اسم textBox ها رو طوری بنویسن که بشه با حلقه بهش دسترسی داشت ، یا اینکه در خاصیت تگ تکست باکس ها عددی قرار بدن که مشخص کنه این نوع کنترل از نوع تکست باکس هست ، مثلا خاصیت تگ همه باکس ها عدد یک باشه ، یا بهتر از همه اینها
foreach (Control control in this.Controls)
{
if (control is TextBox)
// نمایش نام صرفا" جهت توضیح به استارتر تاپیک هست
MessageBox.Show(control.Name);
}
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
نقل قول:
نوشته شده توسط
zagroti
راه بهترشم استفاده از کنترل errorProvider هست
میشه برای این مثال توضیح بدین؟! تا حالا ازش استفاده نکردم!!!!
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
نقل قول:
نوشته شده توسط
pbm_soy
اگه اسم تکست باکسها چیز دیگری باشد چی؟
البته controls. یک آرایه است و میتوان با اندیس به آنها دسترسی داشت ولی همه کنترلها را میدهد نه تکست باکسها!
اسم جعبه متن ها همگی عوض شدند...
هر کدوم با کاری که انجام میدن نام گذاری شدن... !!!
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
سلام:
در جهت تکمیل توضیحات خانم حکمت:
foreach (Control control in this.Controls)
{
if (control is TextBox)
if((textbox)control.text=="")
MessageBox.Show(control.Name+" is empty");
}
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
ممنون از دوستان مشکلم حل شد....
این حلقه به چه شکل کار میکنه؟! آخه آخرین جعبه رو جلوتر از بقیه چک میکنه و بهمین ترتیب... یعنی از آخر پیام ها رو نشون میده!
اول پیام مربوط به جعبه ی سوم بعد دوم بعد اول ..... .!!!
1 ضمیمه
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
دوستان من جواب نگرفتم!
ضمیمه 133447
شرط else if رو چه جوری بنویسم؟!
الآن تو این عکس از ComboBox یه گزینه انتخاب میکنم، بعد دکمه ی اضافه کردن رو میزنم، حلقهی foreach اصلا اجرا نمیشه!!!
کد:
if (txt_Username.Text == "" & txt_Password.Text == "" & txt_RepeatPassword.Text == "" & txt_PasswordReminder.Text == "" & userPrivilage_ComboBox.Text == "")
{
AlterViewer(this);
}
else if (txt_Username.Text == "" || txt_Password.Text == "" || txt_RepeatPassword.Text == "" || txt_PasswordReminder.Text == "" || userPrivilage_ComboBox.Text == "")
{
foreach(Control ctl in this.Controls)
{
if(ctl is TextBox)
if(ctl.Text == "")
MessageBox.Show(ctl.Name + "Is Alter Should Be True!");
}
}
else
{
// عملیات درج داده
}
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
که این کار باعث میشه اولین جعبه ی متن خالی نمایش داده بشه!
به این دلیل است که از else if استفاده میکنید و زمانی که اولین شرط برقرار شد دستورات آن انجام شده و شرطهای دیگر بررسی نمیشود از if استفاده کنید.
نقل قول: بررسی خالی بودن تمام جعبه های متن!!!
در واقع ساز و کاری نیاز دارم تا همه ی جعبه ها رو چک کنه هر کدوم خالی بود PictureBox جلوش فعال بشه!
این خط کدها را جایگزین کنید.
if (string.IsNullOrWhiteSpace(txt_Username.Text))
Alter_PictureBox1.Visible = true;
if (string.IsNullOrWhiteSpace(txt_Password.Text))
Alter_PictureBox2.Visible = true;
if (string.IsNullOrWhiteSpace(txt_RepeatPassword.Text ))
Alter_PictureBox3.Visible = true;
if (string.IsNullOrWhiteSpace(txt_PasswordReminder.Te xt))
Alter_PictureBox4.Visible = true;
if (string.IsNullOrWhiteSpace(userPrivilage_ComboBox. Text))
Alter_PictureBox5.Visible = true;
به جای عکس از errorprovider استفاده کنید picturebox باعث میشه فرم دیر load بشه.
در مورد errorprovider تو سایت یا google و ... جستجو کنید آموزشهای زیادی است.