Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GGerminiani

Herdar Características para Formulários

Recommended Posts

Prezados,

Boa tarde!

 

Estou tentando criar um projeto, sendo que todos os formulários vão herdar as características que pretendo definir numa classe.

 

Vi diversos métodos, mas tenho uma lógica em mente e gostaria de criar da seguinte maneira:

 

 

Abaixo, seria a classe a qual definiria as propriedades do formulário

Public Class FormularioPadrao
    Inherits System.Windows.Forms.Form

    Public Shared Sub FormaularioAzul(propriedades As Form)

        ActiveForm.BackColor = Color.Blue
        ActiveForm.Font = New System.Drawing.Font(ActiveForm.Font, FontStyle.Bold Or FontStyle.Italic)

    End Sub

    Public Shared Sub FormaularioVermelho(propriedades As Form)
        ActiveForm.BackColor = Color.Red     
    
    End Sub

    Public Shared Sub FormaularioVerde(propriedades As Form)

        ActiveForm.BackColor = Color.Green

    End Sub
End Class

 

 

Abaixo seriam os formulários que informaria qual sub ele participa

Public Class PadraoForm


    Private Sub PadraoForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Dim TipoForm As String

        'No TipoForm o usuário escolheria entre as três opções, por exemplo, TipoForm = FormaularioVermelho

        FormularioPadrao.TipoForm(Me)


    End Sub
End Class

 

Alguém pode orientar onde estou errando?

 

Obrigado!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve criar uma propriedade na sua classe "FormularioPadrao" com o nome "Formulário" no tipo Form, e ai você faria assim:

 

[inline]FormularioPadrao.Formulario = Me[/inline]

 

E depois nas subs ao invés de usar o ActiveForm você usaria a própria propriedade:

 

 

Formulario.<propriedade> = <valor>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.