تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعلم إنشاء قائمة ListItem خاصة بك -- ماهي - و ماخصائصها - و مافوائدها -
#1
كاتب الموضوع : lo2i

السلام عليكم ورحمة الله وبركاته ,,

شدّني قبل قليل موضوع لأخ في المنتدى , يريد إنشاء قائمة بأسماء مواقع البحث
google , yahoo , bing ... etc

الجدير بالذكر انه يريد وضعها في أداة combobox ليقوم بعد اختيار المستخدم لواحد منها بفتح المختار
فمثلاً اذا اختار المستخدم google سيفتح له ,, وهكذا دواليك ...
-----
كما هو ملاحظ يمكننا كتابة كود بسيط يحل المشكلة وينهي الامر بعد طرق :

الطريقة الأول :
استعمال جملة الشرط if statement و else if


كود :
[color=#000000][COLOR=#007700]If [/color][color=#0000bb]ComboBox1[/color][color=#007700].[/color][color=#0000bb]SelectedIndex [/color][color=#007700]= [/color][COLOR=#0000bb]0 Then
            Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.google.com"[/color][COLOR=#007700])
        ElseIf [/COLOR][color=#0000bb]ComboBox1[/color][color=#007700].[/color][color=#0000bb]SelectedIndex [/color][color=#007700]= [/color][COLOR=#0000bb]1 Then
            Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.yahoo.com"[/color][COLOR=#007700])
        ElseIf [/COLOR][color=#0000bb]ComboBox1[/color][color=#007700].[/color][color=#0000bb]SelectedIndex [/color][color=#007700]= [/color][COLOR=#0000bb]2 Then
            Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.bing.com"[/color][COLOR=#007700])
        [/COLOR][color=#0000bb]End [/color][COLOR=#007700]If  
[/COLOR][/COLOR]

لاحظ معي اننا سوف نشترط في كل مرة على رقم ال index الذي اختاره المستخدم
ناهيكَ عن الاخطاء التي سوف تظهر لك من لغط بين المواقع ودخولها في بعضها البعض !!
----------------------------------
الطريقة الثانية :
select case و الـ cases و الـ default


كود :
[color=#000000][COLOR=#0000bb]  Select [/color][color=#007700]Case [/color][color=#0000bb]ComboBox1[/color][color=#007700].[/color][COLOR=#0000bb]SelectedIndex
            [/COLOR][color=#007700]Case [/color][COLOR=#0000bb]0
                Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.google.com"[/color][COLOR=#007700])
            Case [/COLOR][COLOR=#0000bb]1
                Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.yahoo.com"[/color][COLOR=#007700])
            Case [/COLOR][COLOR=#0000bb]2
                Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.bing.com"[/color][COLOR=#007700])
        [/COLOR][COLOR=#0000bb]End Select  
[/COLOR][/COLOR]

يعتمد الامر ايضاً على رقم ال index

باختصار الكودان (وجهان لعملة واحدة)
---------------
طبعاً هذه الطريقتين ظهرت لدينا بديهياً لمعرفتنا سابقاً بعدد المواقع التي نريد فتحها .. !!

تصور معي إني أريد إضافة أكثر من 100 موقع للـ combobox او للـ listbox مثلاُ

هل ستلجأ لجملة الشرط (if statement) ؟؟
ام ستلجأ إلى الـ select case لكتابة المئات من ال cases ؟؟


الجواب في هذه الحالة سألجا شخصياً لكتابة كلاس يخدمني ويقلل من وقتي ومن الاخطاء المتوقعة .. ,, فماذا عنك ؟؟ (اعطني تجربتك )

بسم الله الرحمن الرحيم ..

بعد فتح الفيجوال بيسك واختيار windows application

ننشئ مشروع مشابه لهذه الصورة ..



ونقوم بفتح شاشة الكود

لنقوم بكتابة هذه الفئة ..


كود :
[color=#000000][COLOR=#007700]Class [/color][COLOR=#0000bb]listitem

        [/COLOR][color=#007700]Private [/color][color=#0000bb]_text [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty
        Private [/COLOR][color=#0000bb]_value [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty

        [/COLOR][color=#0000bb]Sub [/color][color=#007700]New([/color][color=#0000bb]ByVal text [/color][color=#007700]As [/color][color=#0000bb]String[/color][color=#007700], [/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]text
            _value [/COLOR][color=#007700]= [/color][COLOR=#0000bb]value
        End Sub

        Property text[/COLOR][color=#007700]() As [/color][COLOR=#0000bb]String
            Get
                [/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
            End Get
            Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
                [/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]value
            End Set
        End Property

        Property value[/COLOR][color=#007700]() As [/color][COLOR=#0000bb]String
            Get
                [/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_value
            End Get
            Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
                [/COLOR][color=#0000bb]_value [/color][color=#007700]= [/color][COLOR=#0000bb]value
            End Set
        End Property

        [/COLOR][color=#007700]Public [/color][color=#0000bb]Overrides [/color][color=#007700]Function [/color][color=#0000bb]ToString[/color][color=#007700]() As [/color][COLOR=#0000bb]String
            [/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
        End [/COLOR][COLOR=#007700]Function

    [/COLOR][color=#0000bb]End [/color][COLOR=#007700]Class  
[/COLOR][/COLOR]

شرح الكود :

كود :
[color=#000000][COLOR=#007700]Private [/color][color=#0000bb]_text [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty
Private [/COLOR][color=#0000bb]_value [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty  
[/COLOR][/COLOR]

متغيران محليّان لحمل قيمة ال text ,ال value التي سوف تُدخل في ال listitem

كود :
[color=#000000][COLOR=#0000bb]    Sub [/color][color=#007700]New([/color][color=#0000bb]ByVal text [/color][color=#007700]As [/color][color=#0000bb]String[/color][color=#007700], [/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]text
            _value [/COLOR][color=#007700]= [/color][COLOR=#0000bb]value
        End Sub  
[/COLOR][/COLOR]


الـ subroutine الأساسية التي سيتم التعامل معها
من خلال إدخال قيمة كلاً من ال text والـ value واسنادها للمتغيران التي تم شرحهم في الاعلى !!


كود :
[color=#000000][COLOR=#0000bb]        Property text[/color][color=#007700]() As [/color][COLOR=#0000bb]String
            Get
                [/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
            End Get
            Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
                [/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]value
            End Set
        End Property  
[/COLOR][/COLOR]

الخاصية text تقوم بضبط وإعادة قيمة المتغير text_


كود :
[color=#000000][COLOR=#0000bb]   Property value[/color][color=#007700]() As [/color][COLOR=#0000bb]String
            Get
                [/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_value
            End Get
            Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
                [/COLOR][color=#0000bb]_value [/color][color=#007700]= [/color][COLOR=#0000bb]value
            End Set
        End Property  
[/COLOR][/COLOR]

الخاصية value تقوم بضبط وإعادة قيمة المتغير _value


كود :
[color=#000000][COLOR=#007700]Public [/color][color=#0000bb]Overrides [/color][color=#007700]Function [/color][color=#0000bb]ToString[/color][color=#007700]() As [/color][COLOR=#0000bb]String
            [/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
        End [/COLOR][COLOR=#007700]Function  
[/COLOR][/COLOR]
وهي لتحويل مخرجات الفئة إلى نصوص مقروءة ولاحظ انها ستعيد قيمة ال text_
---------------------
وفي حدث الفورم لود form_load


نقوم بكتابة التالي ...


كود :
[color=#000000][COLOR=#0000bb]        ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"vb4arab"[/color][color=#007700], [/color][color=#dd0000]"http://www.vb4arab.com"[/color][COLOR=#007700]))
        [/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"google"[/color][color=#007700], [/color][color=#dd0000]"http://www.google.com"[/color][COLOR=#007700]))
        [/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"*****"[/color][color=#007700], [/color][color=#dd0000]"http://www.*****.com"[/color][COLOR=#007700]))
        [/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"hotmail"[/color][color=#007700], [/color][color=#dd0000]"http://www.hotmail.com"[/color][COLOR=#007700]))
        [/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"facebook"[/color][color=#007700], [/color][color=#dd0000]"http://www.facebook.com"[/color][COLOR=#007700]))  
[/COLOR][/COLOR]

السؤال الان كيف سنقوم بإسترجاع الـ text والـ value للعنصر المختار من القائمة

بكل بساطة سنحتاج للدالة CTYPE

كود :
[color=#000000][COLOR=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]CType[/color][color=#007700]([/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]SelectedItem[/color][color=#007700], [/color][color=#0000bb]listitem[/color][color=#007700]).[/color][color=#0000bb]text[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]CType[/color][color=#007700]([/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]SelectedItem[/color][color=#007700], [/color][color=#0000bb]listitem[/color][color=#007700]).[/color][color=#0000bb]value[/color][COLOR=#007700]()  
[/COLOR][/COLOR]


الاول سيقوم بإسترجاع النــــص للعنصر المختار .
الثاني سيقوم بإسترجاع القيمة للعنصر المختار .


الان وفي زر فتح الموقع نقوم بكتابة الكود التالي ...


كود :
[color=#000000][COLOR=#007700]If [/color][color=#0000bb]Not TextBox2[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#dd0000]"" [/color][COLOR=#0000bb]Then
            Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#0000bb]Trim[/color][color=#007700]([/color][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700]))
        [/COLOR][color=#0000bb]End [/color][COLOR=#007700]If  
[/COLOR][/COLOR]


المشروع في المرفقات ,,,

لاتنسونا من دعائكم ..


الملفات المرفقة
.rar   WindowsApplication3.rar (الحجم : 62.35 ك ب / التحميلات : 64)
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة إنشاء برنامج طباعة ملصقات الباركود ملهمـ 1 4,397 22-12-21, 05:09 PM
آخر رد: alessam4pro
  معلومة :: تعلم كيف تحفظ صورة في My.Settings بدون الإحتياج إلى مسارها! أسامة أحمد 4 6,096 18-07-21, 02:53 AM
آخر رد: kebboud
  [مشروع] تعلم كيف تصنع برنامج لنشر منشورات لحساب الفيس بوك الخاص بك Basil Abdallah 8 6,264 01-07-18, 01:21 AM
آخر رد: YousefOkasha
  دورة إنشاء برنامج مبيعات متكامل ملهمـ 1 2,720 02-05-18, 12:04 AM
آخر رد: عبد العزيز البسكري
  قائمة منسدلة MenuStrip silverlight 1 1,852 10-11-17, 09:56 PM
آخر رد: ابو روضة
  [نقاش] هل تعلم هذا عن Select Case ali.alfoly 3 3,400 30-12-16, 07:00 PM
آخر رد: Basil Abdallah
  هل تعلم؟ Aly El-Haddad 7 4,475 17-08-15, 01:59 AM
آخر رد: عبد الله
  تعلم أستخدام My.Settings لحفظ التغييرات عند الإغلاق Aly El-Haddad 15 8,779 13-06-13, 05:32 PM
آخر رد: ابراهيم
  الصورة العربية - لآ مشقة بعد الآن في إنشاء الدروس ! RaggiTech 2 3,007 25-04-13, 12:22 PM
آخر رد: خليل اسماعيل
  تعلم إضافة ألعاب الفلاش و مقاطع الفيديو الفلاشية إلى برنامجك Aly El-Haddad 1 2,915 13-04-13, 06:46 PM
آخر رد: Sajad

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


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