تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال بسيط في فيجوال بيسك
#8
Aly El-Haddad كتب :السلام عليكم،
عندي ملاحظة على كودك و هي: أنك تستخدم الحدث Click للـTextBox و هذا الحدث ليس الوحيد الذي يحدد الـTextBox حيث يمكن تحديده مثلاً من زر TAB أو من كود في مكان آخر مثل TextBox.Focus

لذا فقمت بالتعديل على الكود ليكن كالتالي:
كود :
Public Class Form1

    Private txt1 As Boolean = False
    Private txt2 As Boolean = False

    Private Sub TextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
        txt2 = False
        txt1 = True
    End Sub

    Private Sub TextBox2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Enter
        txt1 = False
        txt2 = True
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If txt1 Then
            TextBox1.Text = "1"
            txt1 = False
        End If
        If txt2 Then
            TextBox2.Text = "1"
            txt2 = False
        End If
    End Sub
End Class

لاحظت الآن قصوراً في كودي و هو عند تحديد TextBox ثم الضغط على أداة أخرى على الـForm لتأدية وظيفة ما ثم الضغط على Button1 يكتب الـ"1" في الـTextBox كما لو أنه كان محدد

لذا فقد عالجت هذا القصور بجعل الكود كالتالي Smile
كود :
Public Class Form1

    Private txt1 As Boolean = False
    Private txt2 As Boolean = False
    Private hLastCtrl As New IntPtr

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        For Each C As Control In Me.Controls
            AddHandler C.Leave, AddressOf SetLastFocusedControl
        Next
    End Sub

    Private Sub SetLastFocusedControl(ByVal sender As System.Object, ByVal e As System.EventArgs)
        hLastCtrl = sender.Handle
    End Sub

    Private Sub TextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
        txt2 = False
        txt1 = True
    End Sub

    Private Sub TextBox2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Enter
        txt1 = False
        txt2 = True
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If (hLastCtrl = TextBox1.Handle) AndAlso txt1 Then
            TextBox1.Text = "1"
            txt1 = False
        End If
        If (hLastCtrl = TextBox2.Handle) AndAlso txt2 Then
            TextBox2.Text = "1"
            txt2 = False
        End If
    End Sub
End Class
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
سؤال بسيط في فيجوال بيسك - بواسطة boty - 19-06-13, 07:58 PM
سؤال بسيط في فيجوال بيسك - بواسطة 3booody - 19-06-13, 08:08 PM
سؤال بسيط في فيجوال بيسك - بواسطة boty - 19-06-13, 08:14 PM
سؤال بسيط في فيجوال بيسك - بواسطة Aly El-Haddad_mybb_import4475 - 19-06-13, 11:28 PM
سؤال بسيط في فيجوال بيسك - بواسطة boty - 19-06-13, 11:28 PM
سؤال بسيط في فيجوال بيسك - بواسطة boty - 20-06-13, 12:39 AM
سؤال بسيط في فيجوال بيسك - بواسطة boty - 20-06-13, 12:40 AM
سؤال بسيط في فيجوال بيسك - بواسطة boty - 20-06-13, 12:42 AM
سؤال بسيط في فيجوال بيسك - بواسطة boty - 20-06-13, 06:16 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن الاسمبلي و النيم سبيس justforit 0 105 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 277 02-11-25, 11:19 PM
آخر رد: justforit
  جهاز ارسال رسائل SMS من خلال برنامج فيجوال بيسك جيولوجي مبتدئ 4 1,021 05-09-25, 12:37 PM
آخر رد: جيولوجي مبتدئ
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,243 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حفظ تنسيق الفورم ثم تطبيقة علي فورم اخر فيجوال بيسك abo ragab 7 1,222 09-07-25, 12:45 AM
آخر رد: abo ragab
  [نقاش] سؤال MetoDas 2 1,490 20-04-25, 10:21 PM
آخر رد: Kamil
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 513 20-04-25, 09:26 PM
آخر رد: Kamil
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 820 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  سؤال لو سمحتم احبتى فى الله خالد كامل1 4 809 09-02-25, 12:02 AM
آخر رد: princelovelorn
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 782 07-02-25, 07:57 PM
آخر رد: الورد2

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


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