الفرق بين ISupportInitialize (BeginInit / EndInit) وSuspendLayout / ResumeLayout
-
22-08-2019 - |
سؤال
هل يمكن لشخص يرجى توضيح ما هو الفرق بين استخدام أساليب الواجهة ISupportInitialize (BeginInit / EndInit) واستخدام SuspendLayout / ResumeLayout؟
هل ISupportInitialize تستخدم فقط أثناء عملية البناء / التهيئة "الأولية" ... أو يمكن استخدامها في وقت لاحق عندما كنت ترغب في إضافة عناصر التحكم التابعة جديدة إلى عنصر تحكم الوالدين الحالية؟
وأي اختلافات معينة؟
وأنا أقدر كثيرا مساعدتكم!
وشكرا لك،
وباتو
المحلول
واجهة ISupportInitialize يعيش في System.dll وهو مجرد مفهوم عام إلى حد ما في مجال المكونات. وبالمناسبة، أجزاء كثيرة من System.Windows.Forms هي مكونات، وWindows.Forms أيضا هو المستخدم الرئيسي من الاشياء ComponentModel.
وتعليق / ResumeLayout هو محض شيء Windows.Forms وقول الحقيقة التحكم ليست محاولة القيام الرسومات أثناء وجودك على سبيل المثال إضافة عناصر تحكم الطفل أو تغيير خصائص.
نصائح أخرى
والرموز المستخدمة في تصحيح VB.Net لهذا، فإن معظم decompilers الحصول على هذا الخطأ.
CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()