07-06-14, 05:27 AM
(07-06-14, 02:41 AM)عبد الله كتب : ...
المشكلة كما تعلمون أن الأداة LinkLabel لا يوجد بها أمر MouseHover ضمن خيارات الأداة فاضطر لكتابتها عن طريقة شاشة الشفرات ومنها كتابة ما ترونه في الأعلى من الشاشة حسب الشفرة المكتوبة وليس من الحصافة كتابة عشرون أمر لعشرون أداة LinkLabel كما في السابق السؤال هو :
ما هي الطريقة التي من خلالها كتابة شفرة واحدة استدعيها كلما احتجتها بحيث تكون عبارة عامة تصلح لجميع الـ LinkLabel التي في البرنامج.
لم أفهم قولك "الأداة LinkLabel لا يوجد بها أمر MouseHover ضمن خيارات الأداة"
.....
منقول مع تعديل بسيط ليناسب طلبك
ضع هذا الكود في أي فورم Form يوجد فيه أداة LinkLabel
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LinkLabelMouseHandlers(Me)
End Subضع هذا الكود في موديول Module
كود :
#Region " LinkLabelMouseHandlers "
Public Sub LinkLabelMouseHandlers(ByVal o As Object)
For Each c As Object In o.Controls
If TypeOf o Is ContainerControl Then LinkLabelMouseHandlers(c)
If TypeOf c Is LinkLabel Then
LinkLabel_MouseLeave(c, Nothing)
AddHandler TryCast(c, LinkLabel).MouseEnter, AddressOf LinkLabel_MouseEnter
AddHandler TryCast(c, LinkLabel).MouseLeave, AddressOf LinkLabel_MouseLeave
End If
Next
End Sub
Public Sub LinkLabel_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
sender.LinkColor = Color.Blue
End Sub
Public Sub LinkLabel_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
sender.LinkColor = Color.Black
End Sub
#End Region


