21-09-13, 01:27 PM
(آخر تعديل لهذه المشاركة : 21-09-13, 09:01 PM {2} بواسطة sooriaty03.)
بسم الله الرحمن الرحيم
الحمد لله رب العالمين، والصلاة والسلام على سيدنا محمد وعلى آله وصحبه أجمعين ... وبعد
السلام عليكم ورحمة الله وبركاته
لعل البعض منكم ما زال يتذكر هذا العنوان في النسخة المفقودة من هذا المنتدى ...
حينها ذكرت أن لأداة مربع النص ثلاث حالات، وهي:
الحالة الأولى/ إذا كانت خاصية تعدد الأسطر غير مفعلة (MultiLine = False)
الحالة الثانية / إذا كانت خاصية تعدد الأسطر مفعلة (MultiLine = True) ولكن خاصية التفاف النص غير مفعلة (WordWrap = False)
الحالة الثالثة / إذا كانت خاصية تعدد الأسطر مفعلة (MultiLine = True) وخاصية التفاف النص أيضا مفعلة (WordWrap = True)
وأرفقت مع الموضوع آنذاك مشروعا لتوضيح الحالات الثلاث...
كل هذا الكلام كان في النسخة المفقودة...
أما اليوم فأحببت أن أسوق لكم هذا الكلام بلباس جديد وفكرة جديدة، هدفي منه أن ألفت نظر القارئ الكريم إلى هذه الميزة البرمجية التي ما وَجَدتُّ خلال هذه الفترة من قام باستعمالها ...
فكرتي هذه هي استعمال خاصية Extension والتي تمكنك من خلالها إلحاق أي وظيفة أو حدث إلى نوع معين Type والذي هنا سيكون TextBox وإليك الشرح ...
في البداية يجب أن تقوم بإضافة Module جديد وسمه ماشئت ...
كود :
Module ModuleName
'
'
'
End Module
بعد ذلك نقوم بوضع الكود التالي:
كود :
<System.Runtime.CompilerServices.Extension()> _
ملاحظة: المسموح لك بعد السطر السابق ثلاث معرفات وهم (Module, Sub and Function) وقد استعملت في هذا المثال Sub
كود :
<System.Runtime.CompilerServices.Extension()> _
Public Sub AutoSizer(ByVal [TextBox] As TextBox)
'
'
'
End Sub
كود :
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
TextBox1.AutoSizer()
End Sub
وأخيرا أعذروني على الإطالة
والسلام عليكم ورحمة الله وبركاته
المثال: في المرفقات