Sdílet prostřednictvím


Základní ovládací prvky

Ovládací prvky, které tvoří uživatelský ovládací prvek nebo základní ovládací prvky , jak jsou označeny, jsou relativně nepružné, pokud jde o vlastní vykreslování grafiky. Všechny ovládací prvky model Windows Forms zpracovávají vlastní vykreslování pomocí vlastní OnPaint metody. 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 tlačítko s názvem MyButton. Pokud byste chtěli mít další vykreslování nad rámec toho, co vám poskytlo Button, 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é model Windows Forms ovládací prvky, například TextBox, jsou malovány přímo systémem Windows. V těchto případech OnPaint se metoda nikdy nevolá, a proto výše uvedený příklad nikdy nebude volána.

Tím se vytvoří metoda, která se spustí při MyButton.Paint každém spuštění 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 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 najdete v tématu Ovládací prvky nakreslené uživatelem.

Viz také