PDA

View Full Version : تکست باکس با حداقل یک کارکتر



programerinfonet
یک شنبه 20 مرداد 1392, 20:38 عصر
سلام دوستان
چی کار کنم که تکست باکسم تحت هیچ شرایطی خالی نشه
یعنی اگه کاربر خواست خالی کنه مقدارش بشه صفر
یعنی تحت هیچ شرایط با هر ترفندی خالی نباشه

تبسم ساینا
یک شنبه 20 مرداد 1392, 20:43 عصر
در خاصیت TextChanged شی تکست باکس دستور زیر رو قرار بدید :
if (textBox1.Text == "")
textBox1.Text = "0";
من کد زیر رو تست کردم جواب داد اگه منظورتون رو درست متوجه شده باشم البته:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text == "")
textBox1.Text = "0";
}

programerinfonet
یک شنبه 20 مرداد 1392, 20:45 عصر
:لبخند:
یعنی اگه بعد از این همه مدت اینم بلد نباشم که دیگه هیچ
نه عزیز منظور من این نیست یعنی این کد نیست
این کد واسه من جواب نمیده

programerinfonet
یک شنبه 20 مرداد 1392, 20:50 عصر
من تو این تکست باکس از کد زیر واسه جدا سازی اعشار استفاده می کنم با وجود این کد کد شما گیر میده

string s;
Int64 n;
s = Tx_Amount.Text.Replace(",", "");
n = Convert.ToInt64(s);
Tx_Amount.Text = n.ToString("#,#");
Tx_Amount.Select(Tx_Amount.Text.Length, 1);

تبسم ساینا
یک شنبه 20 مرداد 1392, 20:57 عصر
من تو این تکست باکس از کد زیر واسه جدا سازی اعشار استفاده می کنم با وجود این کد کد شما گیر میده

string s;
Int64 n;
s = Tx_Amount.Text.Replace(",", "");
n = Convert.ToInt64(s);
Tx_Amount.Text = n.ToString("#,#");
Tx_Amount.Select(Tx_Amount.Text.Length, 1);


این کد رو کجا نوشتید ؟؟ من تووی رویداد TextChanged نوشتم خطا میده هر عددی می زنم
ولی نمی تونید از شی maskedtextbox استفاده کنید واسه ورودی اعشاری؟

khokhan
یک شنبه 20 مرداد 1392, 21:32 عصر
.................................................. ...:لبخند::لبخند::لبخند:

programerinfonet
یک شنبه 20 مرداد 1392, 21:39 عصر
khokhan (http://barnamenevis.org/member.php?131732-khokhan) جان دمت گرم ولی عرض کردم زمانی که این کد زیر رو واسه جداسازی سه رقم سه رقم قرار میدم خطا میگیره

string s;
Int64 n;
s = Tx_Amount.Text.Replace(",", "");
n = Convert.ToInt64(s);
Tx_Amount.Text = n.ToString("#,#");
Tx_Amount.Select(Tx_Amount.Text.Length, 1);

programerinfonet
یک شنبه 20 مرداد 1392, 22:18 عصر
ترکیبش کن

TextBox txt = sender as TextBox;
string s;
Int64 n;
if (txt.Text.Trim() == string.Empty)
{
n = 0;
}
else
{
s = txt.Text.Replace(",", "");
n = Convert.ToInt64(s);
}
txt.Text = n.ToString("#,#");
txt.Select(txt.Text.Length, 1);

اینم جواب نداد

Mahmoud.Afrad
یک شنبه 20 مرداد 1392, 22:29 عصر
یه ذره با کد بازی کنید به جواب میرسید

TextBox txt = sender as TextBox;
string str = txt.Text.Trim();
if (str == string.Empty)
{
txt.Text = "0";
txt.Select(0, 1);
}
else if (str != "0")
{
txt.Text = Convert.ToDecimal(txt.Text).ToString("#,#");
txt.Select(txt.Text.Length, 1);
}