استخدام الألوان من البرنامج الخاص بك في Visual Studio

نشأ هذا مثال من استعلام في هذه المادة .

وColorDialog السيطرة ويعرض لوحة الألوان التقليدية، ولكن الحقيقة هي أن برنامج Visual Studio هو أجمل بكثير ويظهر كل الألوان حسب الاسم كما هو محدد في خصائص الكائن System.Drawing.

نظرا لمشكلة عدم وجود مراقبة لتبين لنا هذه القائمة من الألوان ونحن نرى كيف يمكننا constriur 1 أنفسنا.

على سبيل المثال نحن في حاجة إلى مشروع جديد وشكلي.

في النموذج الأول هراوة فقط لاستدعاء نموذج 2، كما هو موضح في الشكل التالي:

coloresNombre001

زر ورمز على النحو التالي:

 BtnColor_Click خاصة الفرعية (المرسل الأساسية ByVal البريد الالكتروني System.Object الأساسية ByVal، كما System.EventArgs) مقابض btnColor.Click
 كما جديد vForm2 خافت Form2
 vForm2.ShowDialog ()
 نهاية الفرعية

وسيكون في هذا الشكل ن botoes مربع القائمة واثنين من (قبول وإلغاء) كما في الشكل التالي:

coloresNombre002

في الحدث Load للنموذج إنشاء بعض الخصائص من ListBox وتحمل أسماء الألوان مع التعليمات البرمجية التالية:

 Form2_Load خاصة الفرعية (المرسل الأساسية ByVal البريد الالكتروني System.Object الأساسية ByVal، كما System.EventArgs) يعالج MyBase.Load
 ListBox1.DrawMode = DrawMode.OwnerDrawFixed
 ListBox1.ItemHeight = 20

 ListBox1.Items.Clear ()
 ListBox1.BeginUpdate ()
 عن كل متعصب وReflection.PropertyInfo في GetType (ألوان). GetProperties (أو Reflection.BindingFlags.Public Reflection.BindingFlags.Static)
 ListBox1.Items.Add (pi.Name)
 التالي
 ListBox1.EndUpdate ()
 نهاية الفرعية

في السطر الأول من "تحميل = ListBox1.DrawMode DrawMode.OwnerDrawFixed" تثبت أن يتم رسم كافة عناصر التحكم يدويا ولها نفس الارتفاع. هذا ademças، DrawItem حدث يتسبب في المعرض قبل كل بند.

لتعيين الحدث DrawItem من مربع القائمة، حدد (في طريقة عرض التصميم) في ListBox1، ونحن اضغط F4 لعرض خصائص، والجزء العلوي من مربع خصائص حدد صاعقة لرؤية الحالة التي تكون فيها السيطرة متاح ، ونحن DrawItem ونحن نقرا مزدوجا فوق. الصورة التالية توضح كيفية القيام بذلك:

coloresNombre003

وهذا هو رمز من الحدث DrawItem

 ListBox1_DrawItem خاصة الفرعية (المرسل الأساسية ByVal بواسطة البريد الالكتروني، وجوه الأساسية ByVal كما System.Windows.Forms.DrawItemEventArgs) مقابض ListBox1.DrawItem
 خافت المستطيل كما e.Bounds = مستطيل

 إذا كان (e.State وDrawItemState.Selected) ثم
 e.Graphics.FillRectangle (SystemBrushes.Highlight، مستطيل)
 آخر
 e.Graphics.FillRectangle (Brushes.White، مستطيل)
 نهاية إذا

 خافت وListBox1.Items سلسلة nombreColor = (e.Index)

 ب قاتمة كما SolidBrush جديد (Color.FromName (nombreColor))

 rectangulo.Inflate (-16، -2)
 e.Graphics.FillRectangle (ب، جديد مستطيل (rectangulo.X، rectangulo.Y، 30 عاما، rectangulo.Height))

 e.Graphics.DrawRectangle (Pens.Black، جديد مستطيل (rectangulo.X، rectangulo.Y، 30 عاما، rectangulo.Height))

 إذا كان (e.State وDrawItemState.Selected) ثم
 e.Graphics.DrawString (nombreColor، e.Font، Brushes.White، rectangulo.X + 34، rectangulo.Y + 2)
 آخر
 e.Graphics.DrawString (nombreColor، e.Font، Brushes.Black، rectangulo.X + 34، rectangulo.Y + 2)
 نهاية إذا
 نهاية الفرعية

الآن نحن فقط بحاجة لبرنامج الأزرار eventosde كما هو مبين في التعليمات البرمجية التالية:

 BtnAceptar_Click خاصة الفرعية (المرسل الأساسية ByVal البريد الالكتروني System.Object الأساسية ByVal، كما System.EventArgs) مقابض btnAceptar.Click
 My.Forms.Form1.BackColor = Color.FromName (ListBox1.SelectedItem)
 نهاية الفرعية

 BtnCancelar_Click خاصة الفرعية (المرسل الأساسية ByVal البريد الالكتروني System.Object الأساسية ByVal، كما System.EventArgs) مقابض btnCancelar.Click
 Me.Close ()
 نهاية الفرعية

حسنا، لاختبار التطبيق ... إذا سار كل شيء بشكل جيد، يبدو مثل هذا:

coloresNombre004

أترك بعض التعاريف:

Graphics.FillRectangle (الطريقة): التعبئة الداخلية من مستطيل المحدد من قبل الزوج تنسيق والعرض والارتفاع 1 1.

Graphics.DrawRectangle (الطريقة): رسم مستطيل المحدد من قبل الزوج تنسيق والعرض والارتفاع 1 1.

Graphics.DrawString (الطريقة): رسم سلسلة النص المحدد في الموقع المحدد ومع فرشاة المحدد والكائنات الخط.

ويساعد هذا الأمل، والتي يمكنك استخدامها في المشاريع الخاصة بك.

11 الردود على "استخدام الألوان Visual Studio في البرنامج الخاص بك"

  1. Bitacoras.com يقول:

    معلومات Bitacoras.com ...

    معدل في Bitacoras.com: هذا المثال نشأت من استعلام في هذه المقالة. وColorDialog سيطرة tresenta لنا لوحة الألوان التقليدية، ولكن من ترو ه أن من Visual Studio هو أجمل بكثير ويظهر كل الألوان لن لكم .....

  2. Cristyan يقول:

    مثال جيد جدا، وشكرا لكم.

  3. خوسيه لويس يقول:

    عظيم!
    ومن تقدير كبير!

  4. أوسكار دانيال يقول:

    ! جيدة جدا!
    وكان الشيء الوحيد الذي كنت أعمل على زر إلغاء الأمر.

  5. اريك يقول:

    فشل لتحديد لون شفاف، سيكون من؟ ........... الألوان الأخرى ما اذا كان يعمل

    salu2

    • أليشع يقول:

      غير أنه لا لون شفاف تطبيقها مع لون الخلفية لنموذج، ولكن إذا ما طبق على عناصر التحكم الأخرى.

      شكرا على التعليق!

  6. gercer89 يقول:

    انقذ حياتي هذا المثال! ... ولكن كما قلت انظر الى الحصول على الشاشة في prpiedades التي تقوم بتغيير لون؟ لأنه يتيح لي رؤية "My.Forms.Form1.BackColor". تشكر salu2

  7. دييغو يقول:

    مرحبا
    أحصل على معرف خطأ متوقع تماما. <واذا كان (e.State وDrawItemState. اختر ED) ثم
    e.Graphics.FillRectangle (SystemBrushes.Highlight، مستطيل)

    ساعدني من خلال كرة القدم
    Graciass

  8. هنري يقول:

    تحياتي ...
    أنا أبحث عن تقنيات لتقديم أجمل تصميم من الضوابط التي يجب أن تكون مثل المطار ولكن ليس لدي أي فكرة ولا أتمكن من العثور على شيء من فضلك اذا كنت قد يساعدني في ذلك من anetmano شكرا جزيلا ...

  9. ديفيد يقول:

    هذا فيرا، وشكرا جزيلا على هذا المثال. وسوف أكون قادرا على تطبيقه على احتياجاتي

    شكرا من ميريدا، يوكاتان

تعليق