Controles constituintes
sistema autônomo controles que compõem um controle de usuário ou controles constituintes sistema autônomo eles são chamados, são relativamente inflexível quando se trata de renderização de elementos gráficos personalizados.Todos os controles Windows Forms lidar com seu próprio renderização por meio de seus próprios OnPaint método. Porque esse método está protegido, ele não está acessível para o desenvolvedor e, portanto, não pode ser impedido de execução quando o controle é pintado.Isso não significa que, no entanto, que não é possível adicionar código para afetar a aparência dos controles constituintes.renderização adicional pode ser feito pela adição de um manipulador de eventos.Por exemplo, suponha que você estava criando um UserControl com um botão denominado MyButton. Se você quis ter renderização adicional além do que foi fornecido pelo Classe de botão, você poderia incluir códigos para o controle de usuário semelhante à seguinte:
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.
}
// Add the event handler to the button's Paint event.
MyButton.add_Paint(new
System.Windows.Forms.PaintEventHandler(this.MyPaint));
// Create the custom painting method.
protected void MyPaint(System.Object sender,
System.Windows.Forms.PaintEventArgs e)
{
// Additional rendering code goes here.
}
Observação: |
---|
Controla alguns Windows Forms, sistema autônomo TextBox, são pintadas diretamente pelo Windows. Nesses casos, a OnPaint método nunca é chamado e, portanto, o exemplo acima nunca será chamado. |
Isso cria um método que é executado sempre que o MyButton.Paint evento é executado, assim, adicionando adicional representação gráfica para seu controle. Observe que isso não impede a execução de MyButton.OnPaint, e, portanto, todas a pintura geralmente executada por um botão ainda serão reiniciadas em conjunto com a pintura personalizada. Para obter detalhes sobre a tecnologia de GDI + e renderização personalizado, consulte o Criando imagens de gráficos com GDI +.Se desejar ter uma representação exclusiva do seu controle, o melhor curso de ação é para criar um controle herdado e escrever um código de renderização personalizado para ele.Para obter detalhes, consulte Controles desenhada por usuário.
Consulte também
Tarefas
Como: Criar objetos de elementos gráficos para desenho
Conceitos
Controles desenhada por usuário
Variedades de controles personalizados