تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في كود تغيير لغة البرنامج
#1
السلام عليكم ورحمة الله وبركاته

عندي مشكلة انا قمت بوضع اجراء عام في موديول لتغيير اللغة 

ثم اقوم باستدعاء الاجراء في الفورم في حدث 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
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مشكلة في كود تغيير لغة البرنامج - بواسطة ay.alhaj - 09-10-18, 01:22 AM


التنقل السريع :


يقوم بقرائة الموضوع: