منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] طريقة توسيط النص داخل اداة comboBox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] طريقة توسيط النص داخل اداة comboBox (/showthread.php?tid=34457)



طريقة توسيط النص داخل اداة comboBox - سمير1404 - 25-04-20

الاخوة الكرام تحية طيبة للجيمع وكل عام وانتم بخير وتقبل طاعاتكم 



احتاج كود او طريقة تجعل النص داخل الكمبوبوكس متوسط  اي في الوسط ، الخيار الوحيد هو من اليمين الى اليسار او العكس عن الغاءه وجزاكم الله خيراً


RE: طريقة توسيط النص داخل اداة comboBox - aljzazy - 25-04-20

الطريقة ان تقوم باضافة كلاس جديد لمشروع تضيف من خلاله اداة كمبوبوكس بالمواصفات التي تريدها

قم بانشاء كلاس جديد في مشروعك واضف اليه الكود النالي


كود :
Public Class CenteredComboBox
 Inherits ComboBox
 Sub New()
   Me.DrawMode = Windows.Forms.DrawMode.OwnerDrawFixed
   Me.DropDownStyle = ComboBoxStyle.DropDownList
 End Sub

 Private Sub CenteredComboBox_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles Me.DrawItem
   e.DrawBackground()
   Dim txt As String = ""
   If e.Index >= 0 Then txt = Me.Items(e.Index).ToString
   TextRenderer.DrawText(e.Graphics, txt, e.Font, e.Bounds, e.ForeColor, TextFormatFlags.HorizontalCenter)
   e.DrawFocusRectangle()
 End Sub
End Class

الان قم بعمل build  للمشروع ستجد انه تم اضافة ادارة كمبوبوكس جديد استخدمها ستجد ان النص بالمنتصف


RE: طريقة توسيط النص داخل اداة comboBox - سمير1404 - 25-04-20

اخي aljzazy اسال الله لك التوفيق
نجحت معي ما تفضلت به علي .


RE: طريقة توسيط النص داخل اداة comboBox - aljzazy - 25-04-20

(25-04-20, 06:22 PM)سمير1404 كتب : اخي aljzazy اسال الله لك التوفيق
نجحت معي ما تفضلت به علي .

حياك الله اخي الكريم
امنيات التوفيق
وكل عام وانت بالف خير


RE: طريقة توسيط النص داخل اداة comboBox - مصمم هاوي - 23-08-25

(25-04-20, 06:02 PM)aljzazy كتب : الطريقة ان تقوم باضافة كلاس جديد لمشروع تضيف من خلاله اداة كمبوبوكس بالمواصفات التي تريدها

قم بانشاء كلاس جديد في مشروعك واضف اليه الكود النالي


كود :
Public Class CenteredComboBox
 Inherits ComboBox
 Sub New()
   Me.DrawMode = Windows.Forms.DrawMode.OwnerDrawFixed
   Me.DropDownStyle = ComboBoxStyle.DropDownList
 End Sub

 Private Sub CenteredComboBox_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles Me.DrawItem
   e.DrawBackground()
   Dim txt As String = ""
   If e.Index >= 0 Then txt = Me.Items(e.Index).ToString
   TextRenderer.DrawText(e.Graphics, txt, e.Font, e.Bounds, e.ForeColor, TextFormatFlags.HorizontalCenter)
   e.DrawFocusRectangle()
 End Sub
End Class

الان قم بعمل build  للمشروع ستجد انه تم اضافة ادارة كمبوبوكس جديد استخدمها ستجد ان النص بالمنتصف

جزاك الله كل خير أخي الحبيب فقد جربت الكلاس ونجح معي بشكل ممتاز


RE: طريقة توسيط النص داخل اداة comboBox - أبو خالد الشكري - 24-08-25

أرجو أن تشرحوا لي طريقة الاستفادة من الكود ،
مثلا : لو كان عندي في المشروع كمبوبوكس اسمه Combo4Test
فكيف يمكنني أن أطبق عليه الكود الذي في الكلاس ؟


RE: طريقة توسيط النص داخل اداة comboBox - مصمم هاوي - 24-08-25

(24-08-25, 12:44 AM)أبو خالد الشكري كتب : أرجو أن تشرحوا لي طريقة الاستفادة من الكود ،
مثلا : لو كان عندي في المشروع كمبوبوكس اسمه Combo4Test
فكيف يمكنني أن أطبق عليه الكود الذي في الكلاس ؟

حيَّاك اللهُ أخي الحبيب
أولاً: قمت بإضافة Class1
ثانياً: قم بنسخ الكود في Class1
ثالثاً: قم بعمل build  للمشروع
رابعاً: من  ToolBox قم بسحب الأداة CenteredComboBox1 إلى الفورم
خامساً: لو استدعيت البيانات من قاعدة البيانات ستجد أنها في الوسط
وهذا مثال بسيط جداً

وهذه كل السالفة .... ابتسامة
[attachment=30115]


RE: طريقة توسيط النص داخل اداة comboBox - أبو خالد الشكري - 24-08-25

(24-08-25, 01:35 AM)مصمم هاوي كتب :
(24-08-25, 12:44 AM)أبو خالد الشكري كتب : أرجو أن تشرحوا لي طريقة الاستفادة من الكود ،
مثلا : لو كان عندي في المشروع كمبوبوكس اسمه Combo4Test
فكيف يمكنني أن أطبق عليه الكود الذي في الكلاس ؟

حيَّاك اللهُ أخي الحبيب
أولاً: قمت بإضافة Class1
ثانياً: قم بنسخ الكود في Class1
ثالثاً: قم بعمل build  للمشروع
رابعاً: من  ToolBox قم بسحب الأداة CenteredComboBox1 إلى الفورم
خامساً: لو استدعيت البيانات من قاعدة البيانات ستجد أنها في الوسط
وهذا مثال بسيط جداً

وهذه كل السالفة .... ابتسامة


شكرا جزيلا لك ، ما قصرت
وفقك الله وبارك فيك .