Compartilhar via


Instruções passo a passo: passando dados entre Windows Forms

Este passo a passo fornece instruções detalhadas de como passar os dados de um formulário para outro. Usando as tabelas Customers e Orders do Northwind, um formulário permitirá que os usuários selecionem um cliente e um segundo formulário exibirá os pedidos do cliente selecionado. Este passo a passo mostra como criar um método em um formulário que recebe os dados do primeiro formulário.

Dica

Este passo a passo demonstra apenas uma maneira de passar dados entre formulários.Existem outras opções para passar dados para um formulário, como estas abordagens: você pode criar um segundo construtor para receber dados ou criar uma propriedade pública que pode ser definida com os dados do primeiro formulário.

As tarefas ilustradas neste passo a passo incluem:

  • Criando um novo projeto de Aplicativo do Windows.

  • Criando e configurando um dataset com o Assistente para Configuração da Fonte de Dados.

  • Selecionando o controle a ser criado no formulário ao arrastar itens da janela Fontes de Dados. Para obter mais informações, consulte Como definir o controle a ser criado quando arrastado da janela Fontes de Dados.

  • Criar controles de associação de dados arrastando itens da janela Fontes de Dados para um formulário.

  • Criar um segundo formulário com uma grade para exibir dados.

  • Criar uma consulta TableAdapter para buscar pedidos de um cliente específico.

  • Passar dados entre formulários.

Pré-requisitos

Para concluir este passo a passo, você precisará de:

Criando o aplicativo do Windows

Para criar o novo projeto do Windows

  1. No menu Arquivo, crie um novo projeto.

  2. Nomeie o projeto PassingDataBetweenForms.

  3. Selecione Aplicativo do Windows Forms e clique em OK. Para obter mais informações, consulte Implementando aplicativos cliente com o .NET Framework.

    O projeto PassingDataBetweenForms é criado e adicionado ao Gerenciador de Soluções.

Criando a Fonte de Dados

Para criar a fonte de dados

  1. No menu Dados, clique em Mostrar Fontes de Dados.

  2. Na janela Fontes de Dados, selecione Adicionar Nova Fonte de Dados para iniciar o Assistente de Configuração de Fonte de Dados.

  3. Selecione Base de dados na página Escolher um Tipo de Fonte de Dados e, em seguida, clique em Próximo.

  4. Na página Escolha um Modelo de Banco de Dados, verifique se o Conjunto de dados foi especificado e clique em Avançar.

  5. Sobre o Escolha sua conexão de dados página, siga um destes procedimentos:

    • Se uma conexão de dados no banco de dados de exemplo Northwind estiver disponível na lista suspensa, selecione-o.

      -ou-

    • Selecione nova conexão para iniciar o Adicionar/Modificar conexão caixa de diálogo.

  6. Se o banco de dados exigir uma senha e a opção para incluir dados confidenciais estiver habilitada, clique em Avançar.

  7. Clique em Avançar na página Salvar cadeia de caracteres de conexão no arquivo de configuração do aplicativo.

  8. Expanda o nó Tabelas na página Escolher Objetos do Banco de Dados.

  9. Selecione as tabelas Customers e Orders e, em seguida, clique em Finalizar.

    O NorthwindDataSet é adicionado ao projeto e as tabelas Customers e Orders aparecem na janela Fontes de Dados.

Criando o primeiro formulário (Form1)

Você pode criar uma grade de associação de dados (um controle DataGridView), arrastando o nó Clientes da janela Fontes de Dados para o formulário.

Para criar uma grade de associação de dados no formulário

Criando o segundo formulário (Form2)

Para criar um segundo formulário para o qual passar os dados

  1. No menu Projeto, escolha Adicionar Formulários do Windows.

  2. Deixe o nome padrão Form2 e clique em Adicionar.

  3. Arraste o nó principal Pedidos da janela Fontes de Dados para Form2.

    Um DataGridView e uma faixa de ferramentas (BindingNavigator) para navegação em registros são exibidos no Form2. Um NorthwindDataSet, CustomersTableAdapter, BindingSource e BindingNavigator são exibidos na bandeja de componentes.

  4. Exclua o OrdersBindingNavigator da bandeja de componentes.

    O OrdersBindingNavigator desaparece do Form2.

Adicionando uma consulta TableAdapter ao Form2 para carregar pedidos do cliente selecionado no Form1

Para criar uma consulta TableAdapter

  1. Clique duas vezes no arquivo NorthwindDataSet.xsd no Gerenciador de Soluções.

  2. Clique com o botão direito do mouse no OrdersTableAdapter e selecione Adicionar Consulta.

  3. Deixe a opção padrão Usar instruções SQL e clique em Avançar.

  4. Deixe a opção padrão SELECT que retorna linhas e clique em Avançar.

  5. Adicione uma cláusula WHERE à consulta para retornar Orders com base no CustomerID. A consulta deve ser semelhante ao seguinte:

    SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry
    FROM Orders 
    WHERE CustomerID = @CustomerID
    

    Dica

    Verifique a sintaxe de parâmetro correta para o seu banco de dados.Por exemplo, no Microsoft Access, a cláusula WHERE seria algo como: WHERE CustomerID = ?.

  6. Clique em Avançar.

  7. Para o Nome do Método Preencher uma DataTable, digite FillByCustomerID.

  8. Desmarque a opção Retornar uma DataTable e clique em Avançar.

  9. Clique em Finalizar.

Criando um método no Form2 para o qual passar dados

Para criar um método para o qual passar dados

  1. Clique com o botão direito do mouse no Form2 e selecione Exibir Código para abrir o Form2 no Editor de Códigos.

  2. Adicione o seguinte código ao Form2 depois do método Form2_Load:

    Friend Sub LoadOrders(ByVal CustomerID As String)
        OrdersTableAdapter.FillByCustomerID(NorthwindDataSet.Orders, CustomerID)
    End Sub
    
    internal void LoadOrders(String CustomerID)
    {
        ordersTableAdapter.FillByCustomerID(northwindDataSet.Orders, CustomerID);
    }
    

Criando um método no Form1 para passar dados e exibir o Form2

Para criar um método para passar dados para o Form2

  1. No Form1, clique com o botão direito do mouse na grade de dados Cliente e clique em Propriedades.

  2. Na janela Propriedades, clique em Eventos.

  3. Clique duas vezes no evento CellDoubleClick.

    O Editor de Códigos é exibido.

  4. Atualize a definição de método para corresponder ao seguinte exemplo:

    Private Sub CustomersDataGridView_DoubleClick() Handles CustomersDataGridView.DoubleClick
    
        Dim SelectedRowView As Data.DataRowView
        Dim SelectedRow As NorthwindDataSet.CustomersRow
    
        SelectedRowView = CType(CustomersBindingSource.Current, System.Data.DataRowView)
        SelectedRow = CType(SelectedRowView.Row, NorthwindDataSet.CustomersRow)
    
        Dim OrdersForm As New Form2
        OrdersForm.LoadOrders(SelectedRow.CustomerID)
        OrdersForm.Show()
    End Sub
    
    private void customersDataGridView_DoubleClick(object sender, EventArgs e)
    {
        System.Data.DataRowView SelectedRowView;
        NorthwindDataSet.CustomersRow SelectedRow;
    
        SelectedRowView = (System.Data.DataRowView)customersBindingSource.Current;
        SelectedRow = (NorthwindDataSet.CustomersRow)SelectedRowView.Row;
    
        Form2 OrdersForm = new Form2();
        OrdersForm.LoadOrders(SelectedRow.CustomerID);
        OrdersForm.Show();
    }
    

Executar o aplicativo

Para executar o aplicativo

  • Pressione F5 para executar o aplicativo.

  • Clique duas vezes em um registro de cliente no Form1 para abrir o Form2 com pedidos do cliente.

Próximas etapas

Dependendo dos requisitos de aplicativo, existem várias etapas que você talvez queira realizar após passar dados entre formulários. Entre algumas das melhorias que você poderia fazer nessa explicação passo a passo estão:

Consulte também

Conceitos

Associando controles dos Windows Forms a dados no Visual Studio

Visão geral de fontes de dados

Visão geral de TableAdapter

Preparando o aplicativo para receber dados

Buscando dados no aplicativo

Associando controles a dados no Visual Studio

Editando dados no aplicativo

Validando dados

Salvando dados

Outros recursos

Instruções passo a passo de dados

Conectando a dados no Visual Studio