سلام دوستان
من در فرمم چند تا تکست باکس دارم .میخوام کاربر در هر تعداد textbox عدد وارد کرد جمع آنها را بدست آورد.بطور مثال اگر در سه تا textbox عدد وارد کرد مجوع آنها را بدست آورد و...
سلام دوستان
من در فرمم چند تا تکست باکس دارم .میخوام کاربر در هر تعداد textbox عدد وارد کرد جمع آنها را بدست آورد.بطور مثال اگر در سه تا textbox عدد وارد کرد مجوع آنها را بدست آورد و...
سلام
کد زیر کاری که میخواید انجام میده و حاصل رو در a میریزه.
int a = Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text) + Convert.ToInt32(textBox3.Text);
int sum = Convert.ToInt32(textbox1.Text) + Convert.ToInt32(textbox2.Text) + Convert.ToInt32(textbox3.Text) + ...
این کد کارتونو باید راه بندازه
decimal sum = 0;
foreach (Control txt inthis.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());
یا حق
سلام
دوست عزیز ،این کد فقط عدد صفر را نشان میدهد...
این نکته رو هم باید اضافه کنم که همه تکست باکس ها عدد نمیگیرند .فقط 7،8 تا هستند که میخوام جمعشونو بدست بیارم
سلام دوست عزیز
العا مشکل شما حل شد یا نه ؟
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
نه!!!
باز هم صفر نشون میده
دوست عزیز
ای کاش خیلی مفصل تر توضیح بدید که می خواهید چیکار کنید العا همه ی جواب ها درست عیب چیزی بود که خودتون خواستید
العا من این برنامه رو برات گذاشتم ببینش
این برنامه به طور خودکار جمع 3 تا تکست باکس رو میریزه تو یک لیبل حالا اینو در نظر بگیر و طبق اون چیزی که می خوای باشه رو بگو تا برات درستش کنم
با تشکر
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
اینو سورس برنامه :
هر مشکلی داشتی بازم بگو...
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
عزیز اون کدی که براتون گذاشته بودم کامل بود و کاربردی.
من سورسو هم می ذارم چون غیر عددی ها رو جمع نمیکنه و خطا هم نمی ده
با سلام
دوست عزیز بجای اینکه اینکه بیای مقایسه کنی که آیا درون آن عدد نوشته شده یا نه؟، نباید اجازه بدی که از اول چیزی بغیر از عدد داخلش نوشته بشه!!!
مثال :
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;
}
}
}
دوست عزیز بجای اینکه از Try-Catch استفاده کنی که جلوی خطا رو بگیره میتونی از این شرط استفاده کنی!!
درسته این طوری بهتره.دوست عزیز بجای اینکه اینکه بیای مقایسه کنی که آیا درون آن عدد نوشته شده یا نه؟، نباید اجازه بدی که از اول چیزی بغیر از عدد داخلش نوشته بشه!!!
عجله ای شد.