Transparent button, label i panel

0

Witam

  1. Powiedzcie jak zrobić przezroczysty label. Znalazłem tą stronę
    http://www.gmmobile.pl/index.php?option=com_content&view=article&id=49:transparent-label-c&catid=4:c&Itemid=13

Nie dokońca jednak wiem jak to wykorzystać

"Tworzymy nową kontrolkę, dziedziczoną po Label.
Dodajemy do projektu nową klasę, i wklejamy kod klasy"

  • Muszę najpierw utworzyć kontrolkę poprzez dodanie "new item" - " user control"? Czy wystarczy, że Od razu dodam do mojego projektu nową klasę i wklęję ten kod z tej sotrony?
using System.Linq;
using System.Text;
using System.Windows.Forms;


    public class TransparentLabel : Label
    {
        public TransparentLabel()
        {
            this.SetStyle(ControlStyles.Opaque, true);
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);
        }
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams parms = base.CreateParams;
                parms.ExStyle |= 0x20;  // Flaga WS_EX_TRANSPARENT
                return parms;
            }
        }
    }
 

Nasępny krok "Dodajemy jako nową klasę do projektu i kompilujemy" Nie bardzo rozumiem jeśli dodałem już do projektu wcześniej tą klasę to po co, ablo (jak) dodać ją znowu. CZy po kompilacji tak jak to jest to napisane na stronie Od razu będe miał kontrolkę gotową w toolboxie?

  1. Czy mogę w podobny sposób stworzyć buttona przezroczystego i panel? Jeśli tak to naprowadzcie mnie trochę.
    "
0

Generalnie dodając klasę do projketu po kompilacji pojawi się ten obiekt (transparentLabel) na pasku narzędzi .. i umeszczasz go wprojekcie tyle razy ile chcesz tak jak inne elementy graficzne.

Elementy typu button, panel obsługują kolor transaparet więc nie wymagają takich zabiegów.
Nie jest to jednak bardzo wydajne (pamietaj o tym aby właczyć doubleBuffered dla formularza).

Dużo lepiej tworzyć formularze oparte o technologie WPF które domyśłnie obsługują to co potrzebujesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1