PDA

View Full Version : جمع کردن چند textbox



amin1000
شنبه 29 خرداد 1389, 11:15 صبح
سلام دوستان
من در فرمم چند تا تکست باکس دارم .میخوام کاربر در هر تعداد textbox عدد وارد کرد جمع آنها را بدست آورد.بطور مثال اگر در سه تا textbox عدد وارد کرد مجوع آنها را بدست آورد و...

sara alavi
شنبه 29 خرداد 1389, 11:42 صبح
سلام
کد زیر کاری که میخواید انجام میده و حاصل رو در a میریزه.


int a = Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text) + Convert.ToInt32(textBox3.Text);

NIK
شنبه 29 خرداد 1389, 11:46 صبح
int sum = Convert.ToInt32(textbox1.Text) + Convert.ToInt32(textbox2.Text) + Convert.ToInt32(textbox3.Text) + ...

hamid.shekasteh
شنبه 29 خرداد 1389, 11:49 صبح
این کد کارتونو باید راه بندازه



decimal sum = 0;
foreach (Control txt in this.Controls)
{
if (txt.GetType().Name == "TextBox")
{
try
{
if (txt.Text != "")
sum += Convert.ToDecimal(txt.Text);

}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}

}
}
MessageBox.Show(sum.ToString());

یا حق

amin1000
شنبه 29 خرداد 1389, 12:00 عصر
سلام
دوست عزیز ،این کد فقط عدد صفر را نشان میدهد...
این نکته رو هم باید اضافه کنم که همه تکست باکس ها عدد نمیگیرند .فقط 7،8 تا هستند که میخوام جمعشونو بدست بیارم

mmd2009
شنبه 29 خرداد 1389, 12:08 عصر
سلام دوست عزیز

العا مشکل شما حل شد یا نه ؟

amin1000
شنبه 29 خرداد 1389, 12:10 عصر
نه!!!
باز هم صفر نشون میده

mmd2009
شنبه 29 خرداد 1389, 12:21 عصر
دوست عزیز

ای کاش خیلی مفصل تر توضیح بدید که می خواهید چیکار کنید العا همه ی جواب ها درست عیب چیزی بود که خودتون خواستید

العا من این برنامه رو برات گذاشتم ببینش

این برنامه به طور خودکار جمع 3 تا تکست باکس رو میریزه تو یک لیبل حالا اینو در نظر بگیر و طبق اون چیزی که می خوای باشه رو بگو تا برات درستش کنم

با تشکر :چشمک:

mmd2009
شنبه 29 خرداد 1389, 12:42 عصر
اینو سورس برنامه :

هر مشکلی داشتی بازم بگو...

hamid.shekasteh
شنبه 29 خرداد 1389, 22:46 عصر
عزیز اون کدی که براتون گذاشته بودم کامل بود و کاربردی.
من سورسو هم می ذارم چون غیر عددی ها رو جمع نمیکنه و خطا هم نمی ده

s.khoshfekran
یک شنبه 30 خرداد 1389, 00:32 صبح
عزیز اون کدی که براتون گذاشته بودم کامل بود و کاربردی.
من سورسو هم می ذارم چون غیر عددی ها رو جمع نمیکنه و خطا هم نمی ده
دوست عزیز بجای اینکه از Try-Catch استفاده کنی که جلوی خطا رو بگیره میتونی از این شرط استفاده کنی!!


if (char.IsNumber(txt.Text,0))
sum += Convert.ToDecimal(txt.Text);

mahdi87_gh
یک شنبه 30 خرداد 1389, 09:32 صبح
با سلام
دوست عزیز بجای اینکه اینکه بیای مقایسه کنی که آیا درون آن عدد نوشته شده یا نه؟، نباید اجازه بدی که از اول چیزی بغیر از عدد داخلش نوشته بشه!!!
مثال :

public class NumericTextBox : TextBox
{
bool allowSpace = false;

// Restricts the entry of characters to digits (including hex), the negative sign,
// the decimal point, and editing keystrokes (backspace).
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);

NumberFormatInfo numberFormatInfo = System.Globalization.CultureInfo.CurrentCulture.Nu mberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator;
string groupSeparator = numberFormatInfo.NumberGroupSeparator;
string negativeSign = numberFormatInfo.NegativeSign;

string keyInput = e.KeyChar.ToString();

if (Char.IsDigit(e.KeyChar))
{
// Digits are OK
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) ||
keyInput.Equals(negativeSign))
{
// Decimal separator is OK
}
else if (e.KeyChar == '\b')
{
// Backspace key is OK
}
// else if ((ModifierKeys & (Keys.Control | Keys.Alt)) != 0)
// {
// // Let the edit control handle control and alt key combinations
// }
else if (this.allowSpace && e.KeyChar == ' ')
{

}
else
{
// Swallow this invalid key and beep
e.Handled = true;
// MessageBeep();
}
}

public int IntValue
{
get
{
return Int32.Parse(this.Text);
}
}

public decimal DecimalValue
{
get
{
return Decimal.Parse(this.Text);
}
}

public bool AllowSpace
{
set
{
this.allowSpace = value;
}

get
{
return this.allowSpace;
}
}
}

hamid.shekasteh
دوشنبه 31 خرداد 1389, 08:33 صبح
دوست عزیز بجای اینکه از Try-Catch استفاده کنی که جلوی خطا رو بگیره میتونی از این شرط استفاده کنی!!





دوست عزیز بجای اینکه اینکه بیای مقایسه کنی که آیا درون آن عدد نوشته شده یا نه؟، نباید اجازه بدی که از اول چیزی بغیر از عدد داخلش نوشته بشه!!!


درسته این طوری بهتره.
عجله ای شد.