منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يُمكن عرض خيارات داخل combobox بناء على ظهور شهر مُعين وسنة مُعين بأداةDatetimepi
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم

إخواني الكرام أود أن أعرض الخيارات داخل ال Combobox بناء على شرط مُعين مُرتبط بالشهر والسنة داخل أداة ال DatetimePicker، بمعنى إذا كنا في شهر سبتمبر 2018 سواء 1 سبتمبر أو 30 سبتمبر فتكون الخيارات الظاهرة في الcombobox هي :  أكتوبر 2018 - نوفمبر 2018 - ديسمبر 2018 ثم إذا دخلنا إلى شهر أكتوبر فيتم إزالة الشهر الحالي ويبدأ بعد ثلاث شهور جديدة، حاولت وبذلت جُهدي لتحقيق ذلك ولكن أحياناً يعمل الكود وأحياناً لا يعمل وخاصة لا يعمل في ظل اختيار الشهر الحالي، وهذا الكود الذي استخدمته، إذا كان منكم من عنده حلاً آخر فجزاكم الله خيراً.

PHP كود :
Public Class Form1

    
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.ObjectByVal e As System.EventArgsHandles DateTimePicker1.ValueChanged



        DateTimePicker1
.Value Today
        Dim v 
As Integer
        Dim k 
As Integer

        v 
DateTimePicker1.Value.Month
        k 
DateTimePicker1.Value.Year

        
If "09" And "2018" Then
            ComboBox1
.Items.Add("10/2018")
            ComboBox1.Items.Add("11/2018")
            ComboBox1.Items.Add("12/2019")

        ElseIf "10" And "2018" Then
            ComboBox1
.Items.Remove("10/2018")
            ComboBox1.Items.Add("11/2018")
            ComboBox1.Items.Add("12/2018")
            ComboBox1.Items.Add("01/2019")

        End If


    End Sub
End 
Class 
تفضل جرب هذا الكود .

كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
       Dim v As Integer = 0
       Dim k As Integer = 0
       v = DateTimePicker1.Value.Month
       k = DateTimePicker1.Value.Year
       ComboBox1.Items.Clear()
       For i As Integer = 0 To 2
           v += 1
           If v > 12 Then
               v = 1
               k = k + 1
           End If
           ComboBox1.Items.Add(v & "/" & k)
       Next
   End Sub
(14-09-18, 12:53 AM)asemshahen5 كتب : [ -> ]تفضل جرب هذا الكود .

كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
       Dim v As Integer = 0
       Dim k As Integer = 0
       v = DateTimePicker1.Value.Month
       k = DateTimePicker1.Value.Year
       ComboBox1.Items.Clear()
       For i As Integer = 0 To 2
           v += 1
           If v > 12 Then
               v = 1
               k = k + 1
           End If
           ComboBox1.Items.Add(v & "/" & k)
       Next
   End Sub

جزاك الله خيراً أخي الكريم  Heart نجحت فكرتك والشكر لله ثُم لك ، لي استفسار يسير لأن هذا الأمر سيحل مشكلة كبيرة بالنسبة لي في هذه الجُزئية : هل يُمكن إضافة الصفر ( 0 ) بحيث يكون شكل الأشهر 01 - 02 إلى 09 ؟
لأنه مع الأسف عند البحث عن شهر 1 يجلب معه شهر 11 وعند البحث عن شهر 2 يجلب معه شهر 12 فضلاً عن ضرورة تغيير كافة أشكال الشهور المـدخلة مُسبقاً بالشكل 01، فوددت هذه الإضافة 01 - 02 وجزاكم الرحمن الجنة.
كود :
ComboBox1.Items.Add(v.ToString("00") & "/" & k)
(15-09-18, 02:00 AM)911 كتب : [ -> ]
كود :
ComboBox1.Items.Add(v.ToString("00") & "/" & k)

جزاك الله خيراً أخي الكريم، سأقوم بتطبيق الكود غداً إن شاء الله وأتمنى أن يحل هذه المشكلة.