السلام عليكم عند 3 من الاداه ComboBox يقومو بعرض اليوم و الشهر و السنة كما يوجد صورة فى المرفقات
اريد عمل شرط و هو ان كانت احدى الاداوت فارغه يقوم بعرض رسائل و اذا كان عمر المستخدام اقل من 18 سنة يظهر رسائل و لكن كيف حساب عمر المستخدام تلقانى بعد ماعرفت تاريخ الميلاد و شكر لكم شباب
السلام عليكم ورحمة الله وبركاته
اخي الكريم
اليك المثال كما طلبت ان شاء الله
وهذه الاكواد بدون مثال
كود :
' املاء الكومبوبزكس بالايام والاشهر والسنين
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For i As Integer = 1 To 31
ComboBox1.Items.Add(i).ToString()
Next
For i As Integer = 1 To 12
ComboBox2.Items.Add(i).ToString()
Next
For i As Integer = 1900 To Now.Year
ComboBox3.Items.Add(i).ToString()
Next
ComboBox1.SelectedIndex = -1
ComboBox2.SelectedIndex = -1
ComboBox3.SelectedIndex = -1
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If ComboBox1.SelectedIndex = -1 Then
MessageBox.Show("من فضلك ادخل يوم ميلدك")
Exit Sub
ElseIf ComboBox2.SelectedIndex = -1 Then
MessageBox.Show("من فضلك ادخل الشهر")
Exit Sub
ElseIf ComboBox3.SelectedIndex = -1 Then
MessageBox.Show("من فضلك ادخل السنة")
Exit Sub
End If
Dim Firstdate, Seconddate As DateTime ' تعريف متغيرين للتاريخ
' تعريف متغير نصي بشكل التاريخ من الكومبوبوكس الثلاثة
Dim StrDate As String = ComboBox1.SelectedItem.ToString() & "/" & ComboBox2.SelectedItem.ToString() & "/" & ComboBox3.SelectedItem.ToString()
' تحويل المتغير النصي الى تاريخ واسناد قيمته الى متغير التاريخ الاول
Firstdate = CDate(StrDate)
' اسناد قيمة التاريخ الحالي لمتغير التاريخ الثاني
Seconddate = Now.Date()
' اجراء عملية الفرق
Dim resault As TimeSpan = Seconddate.Subtract(Firstdate)
If resault.Days / 365.25 < 18 Then
MessageBox.Show("عمرك اقل من 18 سنة")
Else
' عرض الفرق - عدد السنين ثم عدد الايام
lbl_Resault.Text = FormatNumber((resault.Days / 365.25), 0) & " Years And " & FormatNumber(((resault.Days / 365.25) - FormatNumber((resault.Days / 365.25), 0)) * 365.25, 0) & " Days "
End If