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

سبحان الله من فترة عن الفيجوال بيسك ، الشبكة عالم واسع ملهي مضيعة للوقت.

عموماً ،،، إخواني عندي برنامج ويوجد فيه هذان الأمران

كود :
Private Sub LinkLabel1_MouseHover(sender As Object, e As System.EventArgs) Handles LinkLabel1.MouseHover
        LinkLabel1.LinkColor = Color.Blue
    End Sub

      Private Sub LinkLabel1_MouseLeave(sender As Object, e As System.EventArgs) Handles LinkLabel1.MouseLeave
        LinkLabel1.LinkColor = Color.Black
    End Sub

المشكلة كما تعلمون أن الأداة LinkLabel لا يوجد بها أمر MouseHover ضمن خيارات الأداة فاضطر لكتابتها عن طريقة شاشة الشفرات ومنها كتابة ما ترونه في الأعلى من الشاشة حسب الشفرة المكتوبة وليس من الحصافة كتابة عشرون أمر لعشرون أداة LinkLabel كما في السابق السؤال هو :

ما هي الطريقة التي من خلالها كتابة شفرة واحدة استدعيها كلما احتجتها بحيث تكون عبارة عامة تصلح لجميع الـ LinkLabel التي في البرنامج.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}}
تم الشكر بواسطة:
#2
(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
الرد }}}}
تم الشكر بواسطة: عبد الله
#3
ضع sub جديد فيه الاوامر التي تريد وكلما اردت استعمالها قم باستدعاء ال sub الدي فيه الاكواد
الرد }}}}
تم الشكر بواسطة: عبد الله
#4
السلام عليكم...

1. اكتب أكواد الحدثين MouseHover و MouseLeave لأول LinkLabel (مثلاً LinkLabel1) كالتالي:

كود :
Private Sub LinkLabel1_MouseHover(sender As Object, e As EventArgs) Handles LinkLabel1.MouseHover
    CType(sender, LinkLabel).LinkColor = Color.Blue
End Sub

Private Sub LinkLabel1_MouseLeave(sender As Object, e As EventArgs) Handles LinkLabel1.MouseLeave
    CType(sender, LinkLabel).LinkColor = Color.Black
End Sub

2. ثم لديك خياران لربط بقية الـ LinkLabels بنفس الإجرائين:

أ. لكل LinkLabel: من صفحة الأحداث (Events) في نافذة الخصائص (Properties) افتح السهم الموجود أمام الحدث MouseHover و اختر الإجراء LinkLabel1_MouseHover، ثم افتح السهم الموجود أمام الحدث MouseLeave و اختر الإجراء LinkLabel1_MouseLeave.

- أو -

ب. في صفحة الكود اذهب إلى كود الإجراء LinkLabel1_MouseHover و أمام عبارة Handles LinkLabel1.MouseHover أضف فاصلة ثم اسم الـ LinkLabel الثاني (مثلاً LinkLabel2) ثم نقطة ثم كلمة MouseHover ليصبح شكل رأس الإجراء كالتالي:

كود :
Private Sub LinkLabel1_MouseHover(sender As Object, e As EventArgs) Handles LinkLabel1.MouseHover, LinkLabel2.MouseHover

و كرر نفس الأمر مع بقية الـ LinkLabels، ثم افعل نفس الأمر مع الحدث MouseLeave.

كود :
Private Sub LinkLabel1_MouseLeave(sender As Object, e As EventArgs) Handles LinkLabel1.MouseLeave, LinkLabel2.MouseLeave, LinkLabel3.MouseLeave

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

اشكرك أخي vbnet ،،، ففعلاً هذا ما أردته بالضبط وتحقق المطلوب فيه ، فبورك فيك.

أشكرك أخي vb_net على محاولة بذل المساعدة ولو تم وضع شفرة توضح فلعلنا نتعلم طريقة جديدة في الحل.

أشكرك أخي ناجي إبراهيم ، فبالنسبة للطريقة الثانية فقد أتت على بالي بعد وضع الموضوع وأنت جزاك الله خير وضحتها ، والطريقة الأولى لعلها تجعل الأكواد كثيرة لأنها لكل أداة يجب أختيار الأمر.

جزاكم الله خير جميعاً على حسن تجاوبكم معي.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}}
تم الشكر بواسطة:
#6
لاني مبتدئ في هدا المجال ساعطيك طريقة بشرح اخر وستفهم قصدي واسف ان لم يكن هو الحل

مثلا نعمل sub جديد و 2 ازرار مثلا و 2 لابل

ال sub الجديد سنجعل فيه كود يغير لنا تكست لابل كلما ضغطنا على اي زر

ال sub كالتالي

PHP كود :
sub change_text()

label1.text "vb4ever"
labael2.text "vbNet"

end sub 

وفي الازرار نضع هكدا بالتالي من اي زر نغير لا نحتاج كل زر نضع فيه نفس الاكواد

PHP كود :
change_text() 

اتمنى ان يكون ما شرحت مفيد وينفعك بالتوفيق
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم

فعلاً هذا في كان الحالة تتم على أدوات ميعنة ثابتة ، لكن إن أردت عمل أحداث معينة على أكثر من أداة فلا ينفع هذا الحل.

شكراً أخي على التجاوب ، واسأل الله التوفيق لي ولك ولجميع المسلمين والعلم النافع.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] مساعدة لمنع تكرار البيانات او تجميعها علي حسب التاريخ englishman210 15 241 13-12-17, 11:00 AM
آخر رد: englishman210
  هل يمكن كتابة كلاس داخل كلاس anes 2 79 09-12-17, 10:21 PM
آخر رد: anes
  [VB.NET] السلام عليكم كود لادراج حقول نص معين الي جدولين englishman210 2 50 27-11-17, 12:48 PM
آخر رد: englishman210
  كيف اجعل خليه في الداتا جريد فيو تظهر بلون معين بناء على شرط في خليه اخرى من نفس الصف samawi 2 90 16-11-17, 06:40 AM
آخر رد: samawi
  كيف يفتح برنامجى ملف عند الضغط على (فتح) ملف ذو امتداد معين مبرمج مصرى 4 108 11-11-17, 10:47 PM
آخر رد: مبرمج مصرى
  [VB.NET] خطأ في كتابة كود IF عمرو المطري 6 147 27-10-17, 02:16 PM
آخر رد: عمرو المطري
Information [VB.NET] كود لعدم تكرار اكثر من حقل معا في فيجوال محمد المصري 5 133 23-10-17, 06:20 PM
آخر رد: zaer
  [سؤال] ظهور جزء معين من موقع ابو روضة 4 129 20-10-17, 09:52 PM
آخر رد: a.ahmed
  [سؤال] اريد طريقة لمنع تكرار عناصر listbox riad21 4 468 13-10-17, 10:03 AM
آخر رد: مصطفي الشكلي
  استخراج نص معين من موقع fouadhdfouad 3 128 12-10-17, 11:43 PM
آخر رد: ابو روضة

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم