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

نسخة كاملة : كيفية تغيير طريقة عرض التاريخ في الاداة DateTimePicker1
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
يتم عرض التاريخ  بالطريقة التالية  كانون اول كانون ثاني 

انا بدي اياه يعرض يناير فبراير  مارس وهيك
الأداة DateTimePicker تعتمد على إعدادات نظام التشغيل فقط
كلامك صحيح لكن اعتقد ان هناك طريقة برمجية لتغيير نظام التشغيل وجعل الاداة وفقا لما تريد
استخدم هذه الطريقه لضبط اعدادات التقويم والارقام في وندوز بالكود
Private Sub g() ' '' ''ميلادي

Const userRoot As String = "HKEY_CURRENT_USER"
Const subkey As String = "Control Panel\International"
Const keyName As String = userRoot & "\" & subkey
Microsoft.Win32.Registry.SetValue(keyName, "IDate", 1)
'Microsoft.Win32.Registry.SetValue(keyName, "sShortDate", "dd/MM/yyyy")
Microsoft.Win32.Registry.SetValue(keyName, "sShortDate", "yyyy/MM/dd")
Microsoft.Win32.Registry.SetValue(keyName, "iCalendarType", "1")
Microsoft.Win32.Registry.SetValue(keyName, "iCountry", "61")
Microsoft.Win32.Registry.SetValue(keyName, "Locale", "00000C09")
Microsoft.Win32.Registry.SetValue(keyName, "LocaleName", "ar-SA")
Microsoft.Win32.Registry.SetValue(keyName, "sLanguage", "ENA")
'' '' '' ''Microsoft.Win32.Registry.SetValue(keyName, "sLanguage", "ar-SA")
Microsoft.Win32.Registry.SetValue(keyName, "sLongDate", "yyyy/MM/dd")

Microsoft.Win32.Registry.SetValue(keyName, "NumShape", "2")
''بعد ذالك تحتاج الى عملية إنعاش الويندوز لإظهار التغيرات على الجهاز عن طريق الكود التالي :

'For Each ObjProcess As Process In Process.GetProcessesByName("explorer")
' ObjProcess.Kill()
'Next
'Process.Start("explorer")
End Sub
Private Sub h() '' '' او' '' ''ميلادي

My.Application.ChangeCulture("ar-SA")
My.Application.ChangeUICulture("ar-SA")
'MsgBox(Now.ToShortDateString)

Const userRoot As String = "HKEY_CURRENT_USER"
Const subkey As String = "Control Panel\International"
Const keyName As String = userRoot & "\" & subkey
Microsoft.Win32.Registry.SetValue(keyName, "IDate", 1)
'Microsoft.Win32.Registry.SetValue(keyName, "sShortDate", "dd/MM/yyyy")
Microsoft.Win32.Registry.SetValue(keyName, "sShortDate", "yyyy/MM/dd")
Microsoft.Win32.Registry.SetValue(keyName, "iCalendarType", "6")
Microsoft.Win32.Registry.SetValue(keyName, "iCountry", "61")
Microsoft.Win32.Registry.SetValue(keyName, "Locale", "00000C09")
Microsoft.Win32.Registry.SetValue(keyName, "LocaleName", "ar-SA")
Microsoft.Win32.Registry.SetValue(keyName, "sLanguage", "ENG")
' '' '' '' '' '' ''Microsoft.Win32.Registry.SetValue(keyName, "sLanguage", "ar-SA")
'Microsoft.Win32.Registry.SetValue(keyName, "sLongDate", "dddd, d MMMM yyyy")
Microsoft.Win32.Registry.SetValue(keyName, "sLongDate", "dd/MM/yyyy 'هـ'")
Microsoft.Win32.Registry.SetValue(keyName, "NumShape", "2")
End Sub

المعزرة الاجراء Private Sub h() '' للتاريخ الهجري اما Private Sub g() للميلادي وفور تنفيذ احدهم يظر النتيجه مباشرة في البرنامج اما التقويم الظاهر بجوار الشاشه
يتغير عند اعادة التشغيل
اما في برنامجك تستطيع التحكم في طريقة عرض اداة DateTimePicker
يمكن ان يساعدك هذا الفديو في تلبية طلبك
https://www.youtube.com/watch?v=zdt4qxa3QWw
تسلم اخي الفاضل ssayed111 شكرا جزيلا