المشاركات : 897
المواضيع 167
الإنتساب : May 2015
السمعة :
78
الشكر: 791
تم شكره 1504 مرات في 709 مشاركات
لا أدري ما هــو الخطأ في هذا الكود ؟!!!
عندما اختار التاريـخ من DateTimePicker1 المفروض يعرض من ComboBox1 اليوم الموافق للتاريخ (السبت - الأحد ..... )
ولكن اليوم يتم عرضه خطأ.
فأرجــو تعديـل الكود
كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
Geet4(DateTimePicker1.Value.DayOfWeek)
TextBox1.Text = ComboBox1.Text
End Sub
Public Sub Geet4(x As Integer)
If x > ComboBox1.SelectedIndex + 1 Then ComboBox1.SelectedIndex = 0 Else ComboBox1.SelectedIndex = x
End Sub
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 897
المواضيع 167
الإنتساب : May 2015
السمعة :
78
الشكر: 791
تم شكره 1504 مرات في 709 مشاركات
(29-05-24, 08:20 AM)أبو خالد الشكري كتب : مرحبا ..
جرب التعديل التالي :
كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
SetDayOfWeek(DateTimePicker1.Value.DayOfWeek)
TextBox1.Text = ComboBox1.Text
End Sub
Public Sub SetDayOfWeek(day As DayOfWeek)
Dim daysOfWeek As String() = {"الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"}
ComboBox1.Items.Clear()
ComboBox1.Items.AddRange(daysOfWeek)
ComboBox1.SelectedIndex = Array.IndexOf(daysOfWeek, daysOfWeek(day))
End Sub
بارك الله فيك أخي أبا خالد الشكري الكود شغال 100%
(29-05-24, 12:18 PM)العتيق كتب : يبدو أن المشكلة تكمن في كيفية تعيين القيمة المناسبة في الـ ComboBox1 بناءً على اليوم الذي يتم اختياره في DateTimePicker1. لنقم بإجراء بعض التعديلات على الكود لتصحيح المشكلة.أولاً، تأكد أن ComboBox1 يحتوي على عناصر الأيام بشكل صحيح (السبت، الأحد، ...). سنفترض أن ComboBox1 يحتوي على الأيام بترتيب صحيح من 0 إلى 6، حيث 0 يمثل الأحد، 1 يمثل الاثنين، وهكذا حتى 6 الذي يمثل السبت.ثانياً، سنقوم بتعديل دالة Geet4 لتعيين العنصر الصحيح في ComboBox1 مباشرة بناءً على اليوم الذي يتم اختياره من DateTimePicker1.إليك الكود المعدل
PHP كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
' احصل على اليوم الموافق للتاريخ المحدد في DateTimePicker1
Dim dayOfWeek As Integer = DateTimePicker1.Value.DayOfWeek
' قم بتعيين اليوم الموافق في ComboBox1
ComboBox1.SelectedIndex = dayOfWeek
' قم بتحديث TextBox1 بالنص الموجود في ComboBox1
TextBox1.Text = ComboBox1.Text
End Sub
لا حاجة لاستخدام دالة Geet4 في هذه الحالة، لأن تعيين العنصر المناسب في ComboBox1 يمكن تحقيقه مباشرة داخل الحدث DateTimePicker1_ValueChanged.تأكد أن ComboBox1 يحتوي على العناصر بالترتيب الصحيح (الأحد، الاثنين، ...، السبت). إذا كان الترتيب في ComboBox1 مختلفًا، عليك تعديل الكود ليتناسب مع الترتيب الموجود.على سبيل المثال، إذا كان الترتيب في ComboBox1 يبدأ بالسبت وينتهي بالجمعة، يمكنك تعديل الكود كالتالي
PHP كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
' احصل على اليوم الموافق للتاريخ المحدد في DateTimePicker1
Dim dayOfWeek As Integer = DateTimePicker1.Value.DayOfWeek
' تعديل قيمة اليوم للحصول على الترتيب الصحيح في ComboBox1
Dim comboBoxIndex As Integer = (dayOfWeek + 1) Mod 7
' قم بتعيين اليوم الموافق في ComboBox1
ComboBox1.SelectedIndex = comboBoxIndex
' قم بتحديث TextBox1 بالنص الموجود في ComboBox1
TextBox1.Text = ComboBox1.Text
End
بهذا الشكل، يجب أن يتم عرض اليوم الصحيح في ComboBox1 بناءً على التاريخ الذي يتم اختياره في
جزاك الله كلّ خير أخي العتيق فهو كودُ مختصر ُ وقد حققَ المطلوبَ
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ