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

نسخة كاملة : مشكلة في خاصية RightToLeft في vb.net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لدي فورم وضع عليه بعض الادوات و عند تغيير خاصية Righttoleft في الكود في حدث Load يفتح الفورم و ينغلق لوحده مباشرة بعد فتحه 
هل هناك حل لهذه المشكلة سازودكم بكود الذي وضعته في الحدث load 
الكود :
 
كود :
If Form_Main_Paire.Lang = "Arabic" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.Yes
           Me.RightToLeftLayout = True
       ElseIf Form_Main_Paire.Lang = "English" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.No
           Me.RightToLeftLayout = False
       End If
هل وضعت بعض أكوادك ضمن بلوك (Try)..

اذا فعلت ذلك قم بإزالتها وأعرف أين الخطأ ..
ثم أعدها بعد أن تعالج الخطأ..
وضعتها ولا يوجد الخطأ
فقط الفورم يفتح و يختفي مباشرة
و لكن عند وضع سطر Me.RightToLeft = Windows.Forms.RightToLeft.Yes
كتعليق لا يختفي الفورم

و لكن اريد تفعيل هذه الخاصية
(12-04-23, 11:48 PM)mahmoudn كتب : [ -> ]وضعتها ولا يوجد الخطأ
فقط الفورم يفتح و يختفي مباشرة
 و لكن عند وضع سطر  Me.RightToLeft = Windows.Forms.RightToLeft.Yes
كتعليق لا يختفي الفورم

و لكن اريد تفعيل هذه الخاصية

هل وضعية التشغيل على release  او  debug اظن على release في الغالب يتوقف عند اي خطأ غير معالج بالكود[release].
(12-04-23, 08:40 PM)mahmoudn كتب : [ -> ]لدي فورم وضع عليه بعض الادوات و عند تغيير خاصية Righttoleft في الكود في حدث Load يفتح الفورم و ينغلق لوحده مباشرة بعد فتحه 
هل هناك حل لهذه المشكلة سازودكم بكود الذي وضعته في الحدث load 
الكود :
 
كود :
If Form_Main_Paire.Lang = "Arabic" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.Yes
           Me.RightToLeftLayout = True
       ElseIf Form_Main_Paire.Lang = "English" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.No
           Me.RightToLeftLayout = False
       End If

يبدو أن هذا الفورم عبارة عن MdiChild وتقوم بفتحه من الفورم الرئيسي لهذا تحصل المشكلة في الحدث Load

أنقل الكود داخل الحدث Sub New
كود :
Public Sub New()
   ' This call is required by the designer.
   InitializeComponent()

   ' Add any initialization after the InitializeComponent() call.
   If Form_Main_Paire.Lang = "Arabic" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.Yes
       Me.RightToLeftLayout = True
   ElseIf Form_Main_Paire.Lang = "English" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.No
       Me.RightToLeftLayout = False
   End If

End Sub
(13-04-23, 12:38 AM) كتب : [ -> ]
(12-04-23, 08:40 PM)mahmoudn كتب : [ -> ]لدي فورم وضع عليه بعض الادوات و عند تغيير خاصية Righttoleft في الكود في حدث Load يفتح الفورم و ينغلق لوحده مباشرة بعد فتحه 
هل هناك حل لهذه المشكلة سازودكم بكود الذي وضعته في الحدث load 
الكود :
 
كود :
If Form_Main_Paire.Lang = "Arabic" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.Yes
           Me.RightToLeftLayout = True
       ElseIf Form_Main_Paire.Lang = "English" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.No
           Me.RightToLeftLayout = False
       End If

يبدو أن هذا الفورم عبارة عن MdiChild وتقوم بفتحه من الفورم الرئيسي لهذا تحصل المشكلة في الحدث Load

أنقل الكود داخل الحدث Sub New
كود :
Public Sub New()
   ' This call is required by the designer.
   InitializeComponent()

   ' Add any initialization after the InitializeComponent() call.
   If Form_Main_Paire.Lang = "Arabic" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.Yes
       Me.RightToLeftLayout = True
   ElseIf Form_Main_Paire.Lang = "English" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.No
       Me.RightToLeftLayout = False
   End If

End Sub
و كيف استدعي الحدث Sub New في Load
(13-04-23, 07:55 PM)mahmoudn كتب : [ -> ]
(13-04-23, 12:38 AM) كتب : [ -> ]
(12-04-23, 08:40 PM)mahmoudn كتب : [ -> ]لدي فورم وضع عليه بعض الادوات و عند تغيير خاصية Righttoleft في الكود في حدث Load يفتح الفورم و ينغلق لوحده مباشرة بعد فتحه 
هل هناك حل لهذه المشكلة سازودكم بكود الذي وضعته في الحدث load 
الكود :
 
كود :
If Form_Main_Paire.Lang = "Arabic" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.Yes
           Me.RightToLeftLayout = True
       ElseIf Form_Main_Paire.Lang = "English" Then
           Me.RightToLeft = Windows.Forms.RightToLeft.No
           Me.RightToLeftLayout = False
       End If

يبدو أن هذا الفورم عبارة عن MdiChild وتقوم بفتحه من الفورم الرئيسي لهذا تحصل المشكلة في الحدث Load

أنقل الكود داخل الحدث Sub New
كود :
Public Sub New()
   ' This call is required by the designer.
   InitializeComponent()

   ' Add any initialization after the InitializeComponent() call.
   If Form_Main_Paire.Lang = "Arabic" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.Yes
       Me.RightToLeftLayout = True
   ElseIf Form_Main_Paire.Lang = "English" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.No
       Me.RightToLeftLayout = False
   End If

End Sub
و كيف استدعي الحدث Sub New في Load

لا تحتاج استدعاء لانه من أحداث الفورم التلقائية
فقط احذف ما وضعته أنت داخل الحدث Load وضع هذا الكود داخل كلاس الفورم
كود :
Public Sub New()
   ' This call is required by the designer.
   InitializeComponent()

   ' Add any initialization after the InitializeComponent() call.
   If Form_Main_Paire.Lang = "Arabic" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.Yes
       Me.RightToLeftLayout = True
   ElseIf Form_Main_Paire.Lang = "English" Then
       Me.RightToLeft = Windows.Forms.RightToLeft.No
       Me.RightToLeftLayout = False
   End If

End Sub