PDA

View Full Version : خالی بودن تکست باکس



programerinfonet
سه شنبه 28 شهریور 1391, 17:27 عصر
سلام دوستان
من تو برنامم 10 تا تکست باکس و یک دکمه توی یک فرم دارم
چه طوری می تون بگم اگه یکی از این تکست باکس ها خالی بود دکمه غیر فعال باشه و اگر همش پر بود دکمه فعال
از دستور if استفاده می کردم اما خیلی طولانی میشه
میخوام ببینم دستور کوتاه تری هست ؟؟

danialafshari
سه شنبه 28 شهریور 1391, 17:34 عصر
if (textbox1.Text.Trim() == "" || (textbox2.Text.Trim() == "" || (textbox3.Text.Trim() == "" || (textbox4.Text.Trim() == "" || (textbox5.Text.Trim() == "")
{
MessageBox.Show("اطلاعات را کامل وارد کنید", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
btnCancel.Enabled = false;
return;
}
else
{
btnCancel.Enabled = True;
}

programerinfonet
سه شنبه 28 شهریور 1391, 17:36 عصر
این کد رو کجا بنویسم ؟؟

ali_habibi1384
سه شنبه 28 شهریور 1391, 17:37 عصر
private bool IsFull()
{
foreach (Control ctl in root.Controls)
{
if (ctl is TextBox)
{
TextBox tmp;
tmp = (TextBox)ctl;
if (tmp.text =="") return false;
}
return true;
}
}

اگر خروجي اين تابع true بود همه چي پر شده اگرنه نه! كدش هم كه معرف حضورتون هست

ehsan7007
سه شنبه 28 شهریور 1391, 17:45 عصر
public static bool ChkEmpty(params System.Windows.Forms.TextBox[] tb)
{
int i; for (i = 0; i < tb.Length; i++)
{
if (tb[i].Text.Trim() == "")
{
MessageBox.Show("Don't keep field empty");
tb[i].Focus();
return false;
}
}
return true;
}

programerinfonet
سه شنبه 28 شهریور 1391, 17:46 عصر
میشه یک مثال بزنید
من اصلأ چیزی سر در نمیارم
گفتم 10 تا تکست باکس دارم اگر حتی یکیش خالی بود و بقیه پر دکمه غیر فعال باشه

programerinfonet
سه شنبه 28 شهریور 1391, 17:49 عصر
if (textbox1.Text.Trim() == "" || (textbox2.Text.Trim() == "" || (textbox3.Text.Trim() == "" || (textbox4.Text.Trim() == "" || (textbox5.Text.Trim() == "")
{
MessageBox.Show("اطلاعات را کامل وارد کنید", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
btnCancel.Enabled = false;
return;
}
else
{
btnCancel.Enabled = True;
}


این کد پرانتزش کمه یا زیاده معلوم نیست خطا میده

danialafshari
سه شنبه 28 شهریور 1391, 17:49 عصر
این کد رو کجا بنویسم ؟؟

در بالای دکمه ثبتت دیگه !

ali_habibi1384
سه شنبه 28 شهریور 1391, 18:11 عصر
private bool IsFull()
{
foreach (Control ctl in root.Controls)
{
if (ctl is TextBox)
{
TextBox tmp;
tmp = (TextBox)ctl;
if (tmp.text =="") return false;
}
return true;
}
}

اگر خروجي اين تابع true بود همه چي پر شده اگرنه نه! كدش هم كه معرف حضورتون هست
مشخصه تابعي كه مقدار true يا false برميگردونه. داخل بدنه تابه با يه حلقه كليه كنترلهاي روي فرم رو چك كردم اگر خالي بوده مقدار false رو برگردوندم در آخر هم اگر چيز خالي پيدا نكنه مقدار true بر ميگردونه

programerinfonet
سه شنبه 28 شهریور 1391, 18:18 عصر
93051
این خطاها برای چیه
نتونستم رفعش کنم
اگه ممکنه توی یک مثال حل کنید
یعنی روی برنامه
ممنون

ehsan7007
سه شنبه 28 شهریور 1391, 18:29 عصر
حرف اول رو با حرف بزرگ بنویسید.

ali_habibi1384
سه شنبه 28 شهریور 1391, 18:30 عصر
93051
این خطاها برای چیه
نتونستم رفعش کنم
اگه ممکنه توی یک مثال حل کنید
یعنی روی برنامه
ممنون
اين كد رو من از يه تيكه از تابعي كه نوشته بودم قبل استخراج كردم . بجاي root بنويسيد this , فكر كنم اون text هم بصورت Text بنوسيد حله

programerinfonet
سه شنبه 28 شهریور 1391, 18:35 عصر
حالا این سری به IsFull گیر داد
اینو چی کارش کنم
بعدش چه طوری تو رویداد کلیک دکمه ازش استفاده کنم

programerinfonet
سه شنبه 28 شهریور 1391, 18:51 عصر
دوست عزیز درستش کردم اما نتیجه ای که داد دقیقأ بلعکس اون چیزیه که من میخواستم
من گفتم اگه حتی یک کنترل هم خالی بود دکمه غیر فعال بشه
اما این کد اگه یک کنترل پر شه دکمه فعال میشه

Mahmoud.Afrad
سه شنبه 28 شهریور 1391, 19:19 عصر
return true را از حلقه بیاری بیرون درست میشه.

programerinfonet
سه شنبه 28 شهریور 1391, 19:24 عصر
return true را از حلقه بیاری بیرون درست میشه.
اون جور از پرانتزها میاد بیرون و خطا میده
این کد منه

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
foreach (Control ctl in this.Controls)
{
if (ctl is TextBox)
{
TextBox tmp;
tmp = (TextBox)ctl;
if (tmp.Text == "")
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;

}
}
}
}

چی کارش کنم

programerinfonet
سه شنبه 28 شهریور 1391, 19:54 عصر
کمک
یکی کمک کنه ؟؟

ali_habibi1384
سه شنبه 28 شهریور 1391, 21:04 عصر
خب كدتو اشتباه نوشتي ديگه بايد اينجوري بنويسي مثلا تو رويداد موس موت:

botten1.enabled = isfull();

abcd_a
سه شنبه 28 شهریور 1391, 22:02 عصر
فکر کنم اگه تو رویداد Key_up فرم فراخونی بشه عملکردش بهتره

در ضمن خاصیت key preView فرم را هم true کن