تقييم الموضوع :
  • 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
السلام عليكم

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 97 09-03-24, 03:17 AM
آخر رد: atefkhalf2004
  معرفة عدد مرات تكرار الاسم في الداتاقريدفيو صالح عبدالله 8 426 05-02-24, 04:39 PM
آخر رد: صالح عبدالله
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 255 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
Lightbulb [VB.NET] إطهار الصورة بمقاس معين في DataGridView أبو خالد الشكري 2 323 14-12-23, 03:01 PM
آخر رد: أبو خالد الشكري
  كيف اجعل البرنامج في بداية الشهر ينفذ حدث معين بالاصح اريد البرنامج في تاريخ واحد من Adel27213 3 484 05-11-23, 01:45 AM
آخر رد: justforit
  عدم تكرار الاسم yossefsaad370 0 262 02-11-23, 12:28 PM
آخر رد: yossefsaad370
  كيفية جمع قيمة على تاريخ معين واستنتاج تاريخ أخر Ahmed.vb 1 317 02-11-23, 03:52 AM
آخر رد: Taha Okla
  كود لعدم تكرار الرقم في قاعدة البيانات yossefsaad370 1 340 28-10-23, 10:29 AM
آخر رد: atefkhalf2004
  إجبار المستخدم على إدخال عدد معين من الأرقام Ahmed.vb 6 656 20-10-23, 10:25 AM
آخر رد: atefkhalf2004
  كود تغيير قيمة تكست بوكس فى تاريخ معين Ahmed.vb 2 909 11-10-23, 10:35 PM
آخر رد: aljzazy

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


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