Käytä värit oman ohjelman Visual Studio

Tämä esimerkki syntyi kyselyn tässä artikkelissa .

Ohjaus ColorDialog esittelee perinteistä väripaletti, mutta totuus on, että Visual Studio on paljon mukavampi ja näyttää kaikki värit nimen määritelty System.Drawing objektin ominaisuuksiin.

Koska ongelma ei ohjaus näyttää meille tämän listan värejä näemme miten voimme constriur yksi itse.

Esimerkiksi tarvitaan uusi projekti ja kahdella tavalla.

Ensimmäisessä muodossa viestikapulan vain soittaa Lomake 2, kuten seuraavassa kuvassa:

coloresNombre001

painiketta ja koodi on seuraava:

 BtnColor_Click Private Sub (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) Kahvat btnColor.Click
 Kuten New Form2 Dim vForm2
 vForm2.ShowDialog ()
 End Sub

ja tässä lomake n botoes ListBox ja kaksi (hyväksy ja peruuta), kuten seuraavassa muodossa:

coloresNombre002

Lomakkeen Load tapahtuma vahvistaa joitakin ominaisuuksia ListBox ja kuljettaa nimet värien seuraava koodi:

 Form2_Load Private Sub (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) kahvat MyBase.Load
 ListBox1.DrawMode = DrawMode.OwnerDrawFixed
 ListBox1.ItemHeight = 20

 ListBox1.Items.Clear ()
 ListBox1.BeginUpdate ()
 Jokaisen pi Kuten Reflection.PropertyInfo In GetType (Color). GetProperties (Tai Reflection.BindingFlags.Static Reflection.BindingFlags.Public)
 ListBox1.Items.Add (pi.Name)
 Seuraava
 ListBox1.EndUpdate ()
 End Sub

Vuoden ensimmäiselle riville Load "ListBox1.DrawMode = DrawMode.OwnerDrawFixed" vahvistaa, että kaikki elementit valvonnan arvotaan manuaalisesti ja ovat samalla korkeudella. Tämä ademças, DrawItem tapahtuma laukaisee näytä juuri ennen kunkin kohteen.

Aseta DrawItem sattuessa ListBox valitsemalla (rakennenäkymässä) ListBox1, me painamalla F4 tarkastella ominaisuuksia, ja yläosan ominaisuudet-ruudussa salamaa nähdä jos valvonta on käytettävissä me DrawItem ja me kaksoisnapsauta. Seuraava kuva havainnollistaa:

coloresNombre003

ja tämä on koodi DrawItem tapahtuman

 ListBox1_DrawItem Private Sub (ByVal lähettäjälle Object, ByVal e Kuten System.Windows.Forms.DrawItemEventArgs) Kahvat Dim suorakaide Suorakulmio ListBox1.DrawItem = e.Bounds Jos (e.State And DrawItemState.Selected) Sitten e.Graphics.FillRectangle (SystemBrushes . Korosta, suorakaide) Else e.Graphics.FillRectangle (Brushes.White, suorakaide) End If Dim As String = ListBox1.Items nombreColor (e.Index) Dim b As New SolidBrush (Color.FromName (nombreColor)) rectangulo.Inflate ( -16, -2) e.Graphics.FillRectangle (b, New Suorakulmio (rectangulo.X, rectangulo.Y, 30, rectangulo.Height)) e.Graphics.DrawRectangle (Pens.Black, New Suorakulmio (rectangulo.X, suorakaide . Y, 30, rectangulo.Height)) Jos (ja e.State DrawItemState.Selected) Sitten e.Graphics.DrawString (nombreColor, e.Font, Brushes.White, rectangulo.X + 34, rectangulo.Y + 2) Else e.Graphics.DrawString (nombreColor, e.Font, Brushes.Black, rectangulo.X + 34, rectangulo.Y + 2) End If End Sub 

Nyt meidän täytyy vain ohjelmoida painikkeet eventosde kuten seuraava koodi:

 BtnAceptar_Click Private Sub (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) Kahvat btnAceptar.Click
 My.Forms.Form1.BackColor = Color.FromName (ListBox1.SelectedItem)
 End Sub

 BtnCancelar_Click Private Sub (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) Kahvat btnCancelar.Click
 Me.Close ()
 End Sub

No, testata sovelluksen ... jos kaikki meni hyvin, näyttää tältä:

coloresNombre004

Jätän joitakin määritelmiä:

Graphics.FillRectangle (Menetelmä): täyttöjen sisäosan suorakulmion määrittämä koordinaatti pari, leveys ja korkeus.

Graphics.DrawRectangle (Menetelmä): Draw suorakulmion määrittämä koordinaatti pari, leveys ja korkeus.

Graphics.DrawString (Method): Piirrä määritetyn merkkijonon tietyssä paikassa ja määritelty Harja ja Font esineitä.

Toivottavasti tämä auttaa ja voit käyttää projekteissa.

11 Responses to "Visual Studio värit ohjelmassa"

  1. Bitacoras.com sanoo:

    Tiedot Bitacoras.com ...

    Rate in Bitacoras.com: Tämä esimerkki syntyi kyselyn tässä artikkelissa. Ohjaus ColorDialog tresenta meille perinteisen värin paletti, mutta tru e että Visual Studio on paljon mukavampi ja näyttää kaikki värit oman n .....

  2. Cristyan sanoo:

    Erittäin hyvä esimerkki, kiitos.

  3. Jose Luis sanoo:

    GREAT!
    On tervetullutta!

  4. Oscar Daniel sanoo:

    ! Erittäin hyvä!
    ainoa asia, että olen työskennellyt oli Peruuta-painiketta.

  5. Erick sanoo:

    ei valita läpinäkyvä väriä, on? ........... muut värit, jos se toimii

    salu2

    • Elisa sanoo:

      on, että läpinäkyvä väriä ei voida soveltaa taustavärin muodossa, mutta jos soveltaa muihin valvontaa.

      Kiitos kommentoida!

  6. gercer89 sanoo:

    pelasti henkeni tässä esimerkissä! ... mutta kun saan nähdä prpiedades ruutu jossa muutat väriä? koska se antaa minun katsoa "My.Forms.Form1.BackColor." kiittää salu2

  7. diego sanoo:

    hei
    Saan virheilmoituksen Odotettu tunniste tasan. <Jos (e.State Ja DrawItemState. Valitse ed) sitten
    e.Graphics.FillRectangle (SystemBrushes.Highlight, suorakaide)

    HELP ME BY FA
    Graciass

  8. Henry sanoo:

    Tervehdys ...
    Etsin tekniikoita tehdä mukavampaa suunnittelun valvonnan, joka on kuin lentokentällä, mutta minulla ei ole aavistustakaan tai voisin löytää jotain, hyvä jos voisitte auttaa minua että anetmano paljon kiitoksia ...

  9. David sanoo:

    Tämän VERA, paljon kiitoksia tästä mm. Voinko hakea sitä minun tarpeisiin

    Kiitos Merida, Yucatan

Kommentti