Sdílet prostřednictvím


Složkové ovládací prvky

Ovládací prvky, které tvoří uživatelský ovládací prvek, nebo, jak se také nazývají, základní ovládací prvky, jsou poměrně omezené, pokud jde o přizpůsobení vykreslování grafiky. Všechny ovládací prvky Windows Forms zpracovávají vlastní vykreslování prostřednictvím vlastní metody OnPaint. Vzhledem k tomu, že tato metoda je chráněná, není přístupná pro vývojáře, a proto nelze zabránit spuštění při malování ovládacího prvku. To ale neznamená, že nemůžete přidat kód, který ovlivní vzhled základních ovládacích prvků. Další vykreslování lze provést přidáním obslužné rutiny události. Předpokládejme například, že jste vytvořili UserControl s tlačítkem s názvem MyButton. Pokud byste chtěli mít další vykreslování nad rámec toho, co Buttonposkytl, přidali byste do uživatelského ovládacího prvku kód podobný tomuto:

Public Sub MyPaint(ByVal sender as Object, e as PaintEventArgs) Handles _  
   MyButton.Paint  
   'Additional rendering code goes here  
End Sub  
// Add the event handler to the button's Paint event.  
MyButton.Paint +=
   new System.Windows.Forms.PaintEventHandler (this.MyPaint);  
// Create the custom painting method.  
protected void MyPaint (object sender,
System.Windows.Forms.PaintEventArgs e)  
{  
   // Additional rendering code goes here.  
}  

Poznámka

Některé ovládací prvky Windows Forms, například TextBox, jsou malovány přímo systémem Windows. V těchto případech se metoda OnPaint nikdy nevolá, a proto výše uvedený příklad nikdy nebude volen.

Tím se vytvoří metoda, která se spustí při každém spuštění MyButton.Paint události, čímž do ovládacího prvku přidáte další grafické znázornění. Všimněte si, že to nezabrání provádění MyButton.OnPaint, a proto všechny obrazy obvykle prováděné tlačítkem budou stále provedeny spolu s vaším vlastním obrazem. Podrobnosti o technologii GDI+ a vlastním vykreslování najdete v tématu Vytváření grafických obrázků pomocí rozhraní GDI+. Pokud chcete mít jedinečnou reprezentaci ovládacího prvku, je nejlepším samozřejmě vytvoření zděděného ovládacího prvku a napsání vlastního vykreslovacího kódu. Podrobnosti naleznete v části User-Drawn Ovládací prvky.

Viz také