المشاركات : 190
المواضيع 5
الإنتساب : Sep 2013
السمعة :
3
الشكر: 27
تم شكره 103 مرات في 33 مشاركات
اخى الكريم
اسف لردى بدون ان افهم المطلوب جيدا
ولكن الكود الذى وضعته يقول انه عند فقدان التركيز يصبح فورمات الرقم فى التكست بوكس رقم صحيح بدون فواصل عشريه لانك وضعت صفر هنا فى هذا السطر
sender.Text = FormatNumber(Val(sender.Text), 0)
ارجو التوضيح اكثر (ومن الممكن ان يكون احد من الاعضاء فهم المطلوب اكثر منى)
"الناس نيام فإذا ماتوا إنتبهوا"
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
19-10-13, 01:32 AM
(آخر تعديل لهذه المشاركة : 19-10-13, 01:33 AM {2} بواسطة ناجي إبراهيم.)
السلام عليكم...
* سبقني أخي أبو رائد - و لكن في الزيادة إفادة *
السبب هو وجود فاصلة الآلاف بعد استعمال الدالة FormatNumber. فعند العودة إلى مربع النص (بعد أن ظهرت به فاصلة الآلاف) ثم الخروج منه فإنه عند استدعاء الدالة FormatNumber هذه المرة سيعتبر أن فاصلة الآلاف رمز غير رقمي، و بالتالي سيتم تجاهل كل ما بعدها ما يؤدي إلى بتر العدد!
يمكن التحايل على الأمر بتخزين محتوى مربع النص دون فاصلة الآلاف في الخاصية Tag لمربع النص عند فقدان التركيز (LostFocus) و استعادة تلك القيمة عند عودة التركيز (GotFocus). مثلاً:
كود :
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
sender.Text = sender.Tag
End Sub
Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
If sender.Text.Trim = "" Then
sender.Tag = ""
Else
sender.Tag = sender.Text.Replace(",", "") ' نحتفظ بالعدد دون فاصلة الآلاف
sender.Text = FormatNumber(Val(sender.Text), 0)
End If
End Sub
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
الخطأ في كود الأخ أبو رائد هو خطأ إملائي فقط
حيث كتب الحرف c قبل الحرف a (أي Repl
cae و الصحيح هو Repl
ace)
سلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ