اضافه کردن فرمت پولی به چند TextBox
فرض کنید که چندین TextBox در برنامه دارید و می خواهید اعداد آنها به صورت سه رقم سه رقم از هم جدا شوند. برای این کار از کد زیر استفاده کنید :
1: using System; 2: using System.Windows.Forms; 3: 4: namespace WindowsFormsApp2 5: { 6: public partial class Form1 : Form 7: { 8: public Form1() 9: { 10: InitializeComponent(); 11: 12: this.textBox1.TextChanged += new System.EventHandler(this.CurrencyFormat); 13: this.textBox2.TextChanged += new System.EventHandler(this.CurrencyFormat); 14: 15: } 16: 17: void CurrencyFormat(object sender, EventArgs e) 18: { 19: var textBox = sender as TextBox; 20: Double value; 21: if (Double.TryParse(textBox.Text, out value)) 22: textBox.Text = string.Format("{0:#,##0}", value); 23: else 24: textBox.Text = String.Empty; 25: } 26: } 27: }
فرض کنید در برنامه سه TextBox وجود دارد که ما می خواهیم دو تا از آنها ارقامشان به صورت سه رقم سه رقم نمایش داده شود. برای این کار همانطور که در کد بالا مشاهده می کنید کنترل کننده رویداد CurrencyFormat (خط 17) را به رویداد TextChange دو تکس باکسی که می خواهیم وصل می کنیم(خطوط 12 و 13) :
ممنون بابت این آموزش… فقط ۳ مورد که اگه برطرف بشه عالیه:
۱. آیا راهی برای ثبت اعداد منفی (برای نشان دادن بستانکاری) وجود داره؟ (در کد مربوطه چنین موردی رو نمیشه اعمال کرد.)
۲. این کد کمی مشکل داره… زمانی که 4رقم وارد میشه ادامه اعداد میپره روی اول (سمته چپ)
مثلا من عدد مقابل رو وارد کنیم 123,456,789 اما در تکس باکس 895,671,234 رو نشون میده.
۳. زمانی که کیبرد بر روی زبان فارسی (استاندارد) است امکان درج وجود نداره.
سلام خیلی عالیست فقط نمیشه کد vb.net هم بزارید
سلام، مرسی
فکر کنم کد VB ش به صورت زیر میشه