السلام عليكم ورحمة الله وبركاته
عندي مشكلة انا قمت بوضع اجراء عام في موديول لتغيير اللغة
ثم اقوم باستدعاء الاجراء في الفورم في حدث load
المهم الكود شغال مية بالمية لكن يسبب بطئ عند فتح الفورم
انا استخدمت طريقة تغيير اللغة من خصائص الفورم واستخدم الكود التالي
وكود الاستدعاء هو
علما بان FindAllChildren هي دالة اخرى لجلب كل الادوات من الفورم وهي مقدمة من قب المهندس عبد الله الدوسري وهي كالتالي
المشكلة عند فتح الفورم يأخذ وقت من5 الى 7 ثواني ثم يفتح
ايضا عندما اخترت اللغة الانجليزية في وضع التصميم وقمت بتغيير الليبل من العربية للانجليزية قمت بتغيير المواقع لهم مع التكست بوكس الخاص بهم من جهة اليمين الي جهة اليسار
ايضا التكست بوكس توجد في داخل جروب بوكس والجروب بوكس يوجد بداخل بانل لذلك قمت باستخدام دالة الاخ عبد الله
ارجو من لديه الخبرة الحل لهذه المشكلة
وجزاكم الله كل خير
Please any one can help me
عندي مشكلة انا قمت بوضع اجراء عام في موديول لتغيير اللغة
ثم اقوم باستدعاء الاجراء في الفورم في حدث load
المهم الكود شغال مية بالمية لكن يسبب بطئ عند فتح الفورم
انا استخدمت طريقة تغيير اللغة من خصائص الفورم واستخدم الكود التالي
كود :
If My.Settings.App_language = "AR" Then
For Each CTRL As Control In Controls_Location
Dim crmLang As ComponentResourceManager = New ComponentResourceManager(Form_Location.GetType)
crmLang.ApplyResources(CTRL, CTRL.Name, New CultureInfo("AR"))
Next CTRL
Else
If My.Settings.App_language = "EN" Then
For Each CTRL As Control In Controls_Location
Dim crmLang As ComponentResourceManager = New ComponentResourceManager(Form_Location.GetType)
crmLang.ApplyResources(CTRL, CTRL.Name, New CultureInfo("AR"))
Next CTRL
End If
End If
End Sub
وكود الاستدعاء هو
كود :
System_Language(Me.FindAllChildren, Me)
علما بان FindAllChildren هي دالة اخرى لجلب كل الادوات من الفورم وهي مقدمة من قب المهندس عبد الله الدوسري وهي كالتالي
كود :
<Runtime.CompilerServices.Extension()>
Public Function FindAllChildren(ByRef StartingContainer As System.Windows.Forms.Control) As List(Of System.Windows.Forms.Control)
Dim Children As New List(Of System.Windows.Forms.Control)
If StartingContainer.HasChildren = False Then
Return Nothing
Else
Dim oControl As System.Windows.Forms.Control
For Each oControl In StartingContainer.Controls
Children.Add(oControl)
If oControl.HasChildren Then
Children.AddRange(oControl.FindAllChildren())
End If
Next
End If
Return Children
End Function
المشكلة عند فتح الفورم يأخذ وقت من5 الى 7 ثواني ثم يفتح
ايضا عندما اخترت اللغة الانجليزية في وضع التصميم وقمت بتغيير الليبل من العربية للانجليزية قمت بتغيير المواقع لهم مع التكست بوكس الخاص بهم من جهة اليمين الي جهة اليسار
ايضا التكست بوكس توجد في داخل جروب بوكس والجروب بوكس يوجد بداخل بانل لذلك قمت باستخدام دالة الاخ عبد الله
ارجو من لديه الخبرة الحل لهذه المشكلة
وجزاكم الله كل خير
Please any one can help me