Table of contents
XML
TOC
Recolher sumário
Expandir sumário

Criar várias instâncias de um formulárioCreate Multiple Instances of a Form

office 365 dev account|Última Atualização: 29/09/2017
|
1 Colaborador

Em alguns casos, é útil exibir mais de uma instância de um formulário ao mesmo tempo. Por exemplo, talvez você queira exibir os registros de um funcionário e o gerente do funcionário ao mesmo tempo. Você pode criar uma instância da classe do formulário Employees para exibir o registro do funcionário e outra para exibir o registro do gerente.Sometimes it is useful to display more than one instance of a form at a time. For example, you might want to display the records for an employee and the employee's manager at the same time. You can create one instance of the Employees form's class to display the employee's record, and one to display the manager's record.

Quando você cria uma nova instância de um formulário ou classe de relatório, a nova instância tem todas as propriedades e métodos de um objeto Form ou Report e suas propriedades estão definidas para os mesmos valores que aqueles no objeto de formulário ou relatório original. Além disso, quaisquer procedimentos que você tenha escrito no módulo de classe de formulário ou relatório se comportam como métodos e propriedades da nova instância.When you create a new instance of a form or report class, the new instance has all the properties and methods of a Form or Report object, and its properties are set to the same values as those in the original Form or Report object. Additionally, any procedures that you have written in the form or report class module behave as methods and properties of the new instance.

Para criar uma nova instância de uma classe de formulário ou relatório, você pode declarar uma nova variável de objeto usando a palavra-chave do Shell e o nome do módulo de classe do formulário ou relatório. O nome do módulo classe aparece na barra de título do módulo. Indica se a classe esteja associada um formulário ou relatório e inclui o nome do formulário ou relatório. Por exemplo, o nome de classe para um formulário de funcionário é Form_Employees. A linha de código a seguir cria uma nova instância do formulário Employees:To create a new instance of a form or report class, you declare a new object variable by using the Shell keyword and the name of the form's or report's class module. The name of the class module appears in the title bar of the module. It indicates whether the class is associated with a form or a report and includes the name of the form or report. For example, the class name for an Employee form is Form_Employees. The following line of code creates a new instance of the Employees form:

Dim frmInstance As New Form_Employees 

Ao criar várias instâncias de uma classe do formulário Employees, você poderia mostrar informações sobre um funcionário em uma instância do formulário e mostrar informações sobre outro funcionário em outra instância do formulário.By creating multiple instances of an Employees form class, you could show information about one employee on one form instance, and show information about another employee on another form instance.

Observação Quando você cria uma instância de uma classe de formulário usando a palavra-chave New , ela está oculta. Para mostrar o formulário, defina a propriedade Visible como True.Note When you create an instance of a form class by using the New keyword, it is hidden. To show the form, set the Visible property to True.

Você deve declarar a variável que representa a nova instância de uma classe de formulário no nível do módulo. Se você declarar a variável no nível do procedimento, a variável sai do escopo quando o procedimento termina de executar, e a nova instância é removida da memória. A instância existe na memória apenas enquanto a variável à qual ele está atribuído permanece no escopo. Todas as propriedades que você definir afetarão esta instância da classe do formulário, mas não serão salvas com o formulário. Além disso, uma nova instância da classe do formulário não pode ser criada se o formulário for aberto no modo Design.You should declare the variable that represents the new instance of a form class at the module level. If you declare the variable at the procedure level, the variable goes out of scope when the procedure finishes running, and the new instance is removed from memory. The instance exists in memory only as long as the variable to which it is assigned remains in scope. Any properties that you set will affect this instance of the form's class, but will not be saved with the form. Also, a new instance of the form's class cannot be created if the form is open in Design view.

© 2018 Microsoft