PDA

View Full Version : سوال: جداکننده اعداد در textBox



Nahid Borna
یک شنبه 03 مرداد 1389, 18:17 عصر
چگونه در textBox فقط از اعداد به همراه جداکننده سه رقمی کاما استفاده کنم؟لطفاً راهنمایی کنید؟

vandermond
یک شنبه 03 مرداد 1389, 18:22 عصر
سلام دوست عزيز
براي وارد كردن فقط اعداد كه ميتونيد از MaskedTextBox استفاده كنيد و Mask اون رو روي عدد تنظيم كنيد. براي سه رقم هم زياد بحث شده جستجو كنيد اگر به نتيجه نرسيديد بگيد كه يا كد بزارم يا ... .

ostovarit
یک شنبه 03 مرداد 1389, 19:32 عصر
چگونه در textBox فقط از اعداد به همراه جداکننده سه رقمی کاما استفاده کنم؟لطفاً راهنمایی کنید؟

اگر فقط میخوای عدد وارد شه و جدا بشه از مانی تکست باکس استفاده کن و ریالش رو حذف کن
صدها نمونه در سایت و کد پروجکت هست جستجو کنید!


Da (http://barnamenevis.org/forum/showpost.php?p=390588&postcount=33)teBox ( (http://barnamenevis.org/forum/showpost.php?p=390588&postcount=33)برای گرفتن تاریخ) (http://barnamenevis.org/forum/showpost.php?p=390588&postcount=33)
Money TextBox (برای کار با مقادیر پو (http://barnamenevis.org/forum/showpost.php?p=487967&postcount=63)لی) (http://barnamenevis.org/forum/showpost.php?p=487967&postcount=63)

Nahid Borna
یک شنبه 03 مرداد 1389, 20:11 عصر
سلام دوست عزيز
براي وارد كردن فقط اعداد كه ميتونيد از MaskedTextBox استفاده كنيد و Mask اون رو روي عدد تنظيم كنيد. براي سه رقم هم زياد بحث شده جستجو كنيد اگر به نتيجه نرسيديد بگيد كه يا كد بزارم يا ... .
با تشکر از راهنمایی شما،من نمی خوام از Masked TextBox استفاده کنم اگر ممکن است برام کد بگذارید.:متفکر:

محسن شامحمدی
یک شنبه 03 مرداد 1389, 20:57 عصر
دوست عزیز من زیاد با سی شارپ آشنایی ندارم به همین دلیل این کد رو به زبان وی بی دات نت می ذارم شاید بدردتون بخوره

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If IsNumeric( e.KeyChar)=false then e.Handled=True
End Sub

ACorvinus
یک شنبه 03 مرداد 1389, 21:48 عصر
سلام.

http://barnamenevis.org/forum/showthread.php?t=235638

کدشو اونجا گذاشتم. موفق باشین.

vandermond
یک شنبه 03 مرداد 1389, 22:04 عصر
سلام دوست عزيز
اينم كد: (اين كد رو بزار توي TextChanged مربوط به TextBox1 )

long Number;
if (!long.TryParse(textBox1.Text.Replace(",",""),out Number))
MessageBox.Show("Error");
textBox1.Text = string.Format("{0:n0}",Number);
textBox1.Select(textBox1.Text.Length, 1);
فقط يه نكته اينكه اگه تعداد ارقام از يه حدي بيشتر بشه (از مقداري كه long قبول ميكنه)، خطا ميده.
اگه خواستيد بگيد كه روي اينش هم كار كنم.

Nahid Borna
دوشنبه 04 مرداد 1389, 09:19 صبح
سلام.

http://barnamenevis.org/forum/showthread.php?t=235638

کدشو اونجا گذاشتم. موفق باشین.
از زاهنمایی مفیدتون سپاسگزارم.:تشویق:

Mohagheghi
دوشنبه 04 مرداد 1389, 10:38 صبح
براي اعداد خيلي بزرگ





private void textBox1_TextChanged(object sender, EventArgs e)
{

if (!string.IsNullOrEmpty(textBox1.Text))
{
textBox1.Text = string.Format("{0:N0}", decimal.Parse(textBox1.Text.Replace(",", "")));
textBox1.Select(textBox1.Text.Length, 0);
}

}







هر روز يک موضوع براي آموزش
http://mohagheghi.blogsky.com (http://mohagheghi.blogsky.com/)

vandermond
دوشنبه 04 مرداد 1389, 11:50 صبح
براي اعداد خيلي بزرگ





private void textBox1_TextChanged(object sender, EventArgs e)
{

if (!string.IsNullOrEmpty(textBox1.Text))
{
textBox1.Text = string.Format("{0:N0}", decimal.Parse(textBox1.Text.Replace(",", "")));
textBox1.Select(textBox1.Text.Length, 0);
}

}







هر روز يک موضوع براي آموزش
http://mohagheghi.blogsky.com (http://mohagheghi.blogsky.com/)


دوست عزيز كد شما درسته ولي چك نميكنه كه فقط عدد وارد تكست باكس شده يا نه. در واقع اگه مثلا يك حرف رو اضافه كنيم چون برنامه نميتونه به فرمت درخاستي تبديل كنه، خطا ميده.
تو كدي كه من نوشتم هم دقيقا براي همين يك long تعريف كردم كه فقط عدد رو بگيره...
بايد از روشهاي ديگه اي استفاده بشه. من اگه وقت كردم روش كار ميكنم. بايد فضاهاي بيشتري براي عدد بگيريم و يا مثلا هر 10 رقم رو جدا كنيم و .... (زياد هم سخت نيست)