Използвайте цветовете на вашата програма в Visual Studio

Този пример е възникнало от една заявка в тази статия

Контрол ColorDialog представя традиционната цветова палитра, но истината е, че Visual Studio е много по-хубав и показва всички цветове, по име, както са определени в свойства на System.Drawing, обектни

Като се има предвид проблемът, че няма контрол, за да ни покаже този списък от цветове виждаме начина, по който човек може да се constriur

Например ние се нуждаем от нов проект и две форми.

В първата форма палката, просто трябва да се обадите на формуляр 2, както е показано на следната фигура:

coloresNombre001

бутона и кода е както следва:

 BtnColor_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnColor.Click
 Нова Form2 Дим vForm2
 vForm2.ShowDialog ()
 End Sub

и в тази форма N botoes падащ списък и две (ще приеме и да отмени), в следния вид:

coloresNombre002

В Load случай на формуляра установи някои свойства на падащ списък и носят имената на цветовете със следния код:

 Form2_Load Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки MyBase.Load
 ListBox1.DrawMode = DrawMode.OwnerDrawFixed
 ListBox1.ItemHeight = 20

 ListBox1.Items.Clear ()
 ListBox1.BeginUpdate ()
 За всеки PI Както Reflection.PropertyInfo В GetType (Color). GetProperties (или Reflection.BindingFlags.Static Reflection.BindingFlags.Public)
 ListBox1.Items.Add (pi.Name)
 До
 ListBox1.EndUpdate ()
 End Sub

На първия ред на Load "ListBox1.DrawMode = DrawMode.OwnerDrawFixed" установи, че всички елементи на контрол, се изготвят ръчно и имат една и съща височина. Това ademças, DrawItem събитие предизвиква шоу точно преди всяка позиция

За да настроите DrawItem случай на падащ списък, изберете (в режим на проектиране) ListBox1, натиснете F4, за да видите свойствата, и на върха на прозорец Свойства изберете светкавица, за да видите случай, че контролът е на разположение , ние DrawItem на и щракнете двукратно. Следното изображение показва как:

coloresNombre003

и това е кодът на събитието DrawItem

 ListBox1_DrawItem Private Sub (ByVal подателя като обект, ByVal Е Като System.Windows.Forms.DrawItemEventArgs), Дръжки ListBox1.DrawItem
 На Дим правоъгълник Като правоъгълник = e.Bounds

 Ако (e.State и DrawItemState.Selected) След това
 e.Graphics.FillRectangle (SystemBrushes.Highlight, правоъгълник)
 Още
 e.Graphics.FillRectangle (Brushes.White, правоъгълник)
 Крайна сметка, ако

 , Дим Като String = ListBox1.Items nombreColor (e.Index)

 Дим б като Ню SolidBrush (Color.FromName, (nombreColor))

 rectangulo.Inflate (-16, -2)
 e.Graphics.FillRectangle (B, Ню правоъгълник (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)
 Крайна сметка, ако
 End Sub

Сега ние просто трябва да програмирате на бутоните eventosde, както е показано в следния код:

 BtnAceptar_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnAceptar.Click
 My.Forms.Form1.BackColor = Color.FromName (ListBox1.SelectedItem)
 End Sub

 BtnCancelar_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnCancelar.Click
 Me.Close ()
 End Sub

Е, за да изпита прилагането ... Ако всичко е минало добре, изглежда по следния начин:

coloresNombre004

Оставям на някои определения:

Graphics.FillRectangle (метод): изпълва вътрешността на правоъгълника, определен от координатната чифт, с широчина и височина.

Graphics.DrawRectangle (метод): Начертайте правоъгълник, определен от една координатна двойка, ширина и височина

Graphics.DrawString (метод): Начертайте определен текстов низ на определено място и с определено Четка и обекти на шрифта.

Надявам се това помага и можете да ползвате в проектите

11 коментара към "Използване на Visual цветове студио в програмата си"

  1. Bitacoras.com казва:

    Информация Bitacoras.com ...

    Курс в Bitacoras.com: Този пример е възникнало от заявките в тази статия. Контрол ColorDialog tresenta нас традиционна цветовата палитра, но това е на TRU д че на Visual Studio е колко по-хубаво и показва всички цветове за вашия N .....

  2. Cristyan казва:

    Много добър пример, благодаря ви.

  3. Jose Luis казва:

    Страхотно!
    Е много оценявам!

  4. Оскар Даниел казва:

    ! Много добре!
    Единственото нещо, че съм работил, е бутона Отказ.

  5. Erick казва:

    не успее да изберете прозрачен цвят, той ще бъде? ........... други цветове, ако тя работи

    salu2

    • Елисей казва:

      е, че прозрачен цвят не може да се прилага като цвета на фона на формуляр, но ако се приложи към други контроли.

      Благодаря за коментар!

  6. gercer89 казва:

    спаси живота ми този пример! ... но като мога да видя на екрана на prpiedades, с която можете да промените цвета, тъй като ви позволява ме види "My.Forms.Form1.BackColor." благодари salu2

  7. Диего казва:

    здравей
    Аз получите съобщение за грешка Вместо идентификатор точно. <A Ако (e.State и DrawItemState. Изберете ED) Тогава
    e.Graphics.FillRectangle (SystemBrushes.Highlight, правоъгълник)

    ПОМОГНЕТЕ МИ ОТ ФА
    Graciass

  8. Хенри казва:

    Поздрави ...
    Търся техники, за да направят по-приятен дизайн на контроли, които трябва да бъде като на летището, но нямам представа и не мога да намеря нещо, моля, ако можете да ми помогнете с това на anetmano много ви благодаря ...

  9. Давид казва:

    този Вера, благодаря ви много за този пример. Ще мога ли да я приложите към нуждите ми

    Благодаря ви от Мерида, Юкатан

Коментар