تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة عند فقدان التركيز ؟
#4
السلام عليكم...

* سبقني أخي أبو رائد - و لكن في الزيادة إفادة *

السبب هو وجود فاصلة الآلاف بعد استعمال الدالة 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

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}


الردود في هذا الموضوع
مشكلة عند فقدان التركيز ؟ - بواسطة kafi2030 - 19-10-13, 12:42 AM
RE: مشكلة عند فقدان التركيز ؟ - بواسطة ناجي إبراهيم - 19-10-13, 01:32 AM


التنقل السريع :


يقوم بقرائة الموضوع: