Jump to content
Gustavo_palma

[Resolvido] Atualização de formulário C#

Recommended Posts

Olá,

 

Estou desenvolvendo uma aplicação Windows Form e travei no seguinte problema: tenho um formulário que serve de menu para abrir outros formulários, porém gostaria de deixar esse menu fixo em um formulário só e atualizar esse mesmo formulário com os novos objetos no clique dos botões do menu.

Segue uma print de um sistema parecido

 

maxresdefault.jpg&key=bfd412390195c9668b

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By frlopes
      Pessoal, boa tarde. 
       
      Estou com alguns probleminhas, se alguém puder me ajudar, agradeço imensamente!
      Tenho uma aplicação windows form em c# que tem um DataGridView, neste DataGridView tenho 2 colunas que são DataGridViewComboBoxColumn.
      O que eu espero que aconteça? Quando selecionado o valor de um, jogar o "Value" na coluna anterior. Enfim, Tentei com o código abaixo, porém, estou com alguns problemas:
       
      1 - Só consigo selecionar um item do grid, clicando 2 x no mesmo, a primeira vez que eu clico, não abre a lista de seleção, somente na segunda vez.
       
      2 - As vezes, retorna o valor "System.Data.DataRowView" na coluna anterior.
       
      3 - Os combos, coincidentemente, serão carregados com o mesmo valor, mas caso não fossem, como eu deveria fazer?
       
      4 - Existe uma forma de eu adicionar um item manualmente, por exemplo, como estão trazendo uma lista do banco de dados, supondo que eu traga "Santos", "São vicente", "Guarujá" e queira que o primeiro item seja "<selecione>", que não faz parte do banco de dados, não está no meu DataTable, como faço neste caso? 
       
       
      Obrigada, pessoal... 

       
       
      public FrmAlterarTipoAcomodacao() { InitializeComponent(); } TipoAcomodacao tipoAcomodacao = new TipoAcomodacao(); public void CarregarTipoAcomodacao() { DataTable dtbTipoAcomodacao = tipoAcomodacao.ListarTipoAcomodacao(); col1TipoAcomodacao.ValueMember = "TIS_TAC_CD_TIPO_ACOMODACAO"; col1TipoAcomodacao.DisplayMember = "TIS_TAC_DS_TIPO_ACOMODACAO"; col1TipoAcomodacao.DataSource = dtbTipoAcomodacao; col1TipoAcomodacaoAutorizada.ValueMember = "TIS_TAC_CD_TIPO_ACOMODACAO"; col1TipoAcomodacaoAutorizada.DisplayMember = "TIS_TAC_DS_TIPO_ACOMODACAO"; col1TipoAcomodacaoAutorizada.DataSource = dtbTipoAcomodacao; } private void FrmAlterarTipoAcomodacao_Load(object sender, EventArgs e) { dgvProfissional.Rows.Add(); dgvProfissional.Rows.Add(); dgvProfissional.Rows.Add(); dgvProfissional.Rows.Add(); CarregarTipoAcomodacao(); dgvProfissional.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dgvProfissional_EditingControlShowing); } public FrmAlterarTipoAcomodacao() { InitializeComponent(); } TipoAcomodacao tipoAcomodacao = new TipoAcomodacao(); public void CarregarTipoAcomodacao() { DataTable dtbTipoAcomodacao = tipoAcomodacao.ListarTipoAcomodacao(); col1TipoAcomodacao.ValueMember = "TIS_TAC_CD_TIPO_ACOMODACAO"; col1TipoAcomodacao.DisplayMember = "TIS_TAC_DS_TIPO_ACOMODACAO"; col1TipoAcomodacao.DataSource = dtbTipoAcomodacao; col1TipoAcomodacaoAutorizada.ValueMember = "TIS_TAC_CD_TIPO_ACOMODACAO"; col1TipoAcomodacaoAutorizada.DisplayMember = "TIS_TAC_DS_TIPO_ACOMODACAO"; col1TipoAcomodacaoAutorizada.DataSource = dtbTipoAcomodacao; } private void FrmAlterarTipoAcomodacao_Load(object sender, EventArgs e) { dgvProfissional.Rows.Add(); dgvProfissional.Rows.Add(); dgvProfissional.Rows.Add(); dgvProfissional.Rows.Add(); CarregarTipoAcomodacao(); dgvProfissional.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dgvProfissional_EditingControlShowing); } ComboBox combo; private void dgvProfissional_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { ComboBox comboBox = e.Control as ComboBox; if (comboBox != null) { comboBox.SelectedIndexChanged -= new EventHandler(combo_SelectedIndexChanged); comboBox.SelectedIndexChanged += combo_SelectedIndexChanged; } } private void combo_SelectedIndexChanged(object sender, EventArgs e) { if ((sender as ComboBox).SelectedIndex > 0) { string selected = (sender as ComboBox).SelectedValue.ToString(); if (dgvProfissional.CurrentCell.ColumnIndex == 11) { dgvProfissional.Rows[dgvProfissional.CurrentRow.Index].Cells["col1CodigoTipoAcomodacao"].Value = selected; } if (dgvProfissional.CurrentCell.ColumnIndex == 18) { dgvProfissional.Rows[dgvProfissional.CurrentRow.Index].Cells["col1CodigoTipoAcomodacaoAutorizada"].Value = selected; } } }  

    • By Rui PG
      Boa tarde, Amigos!
      Por favor, alguém poderia me ajudar nessa questão, sou novo em desenvolvimento e estou a semanas tentando resolver esse problema.
      Desenvolvi um DataGrid emWPF preciso que quando o usuário clicar no "botão adicionar", gere automaticamente uma espécie de numeração sequencial no campo "followup", porém ao decorrer dos lançamentos dos dados no DataGrid, gere um numero sequencial ordenado do maior para o menor, ou seja, o último registro incluído no datagrid vai receber a última posição, conforme a prototipação da tela abaixo.
       
      Prototipação:

       
      XAML da Construção do DATAGRID:

       
      Código em C# do evento do botão adicionar, só falta colocar esse tipo de contador para o campo “follow-up”, na qual está destacado na figura:

       
      segue o código do botão adicionar onde tenho que programar essa auto numeração.
             public class JogaDadoNoGrid  
              {
                  public string bdgDtRegistro { get; set; }
                  public string bdgFollowup { get; set; }
                  public string bdgDtAgendamento { get; set; }
                  public string bdgHorario { get; set; }
                  public bool bdgVisitaRealizada { get; set; }
                  public bool bdgNaoRealizada { get; set; }
                  public bool bdgDesistiu { get; set; }
                  public string bdgMotivo { get; set; }
                  public string bdgObservacao { get; set; }
              }

              private void btnAddGrid_Click(object sender, RoutedEventArgs e)
              {
                JogaDadoNoGrid DadosTemporario = new JogaDadoNoGrid();

                  DadosTemporario.bdgDtRegistro = txtDataAtual.Text;
                  DadosTemporario.bdgFollowup = "AQUI QUE EU PRECISO GERAR O 1º, 2º, 3º ...."; 
                  DadosTemporario.bdgHorario = txtHorario.Text;
                  DadosTemporario.bdgDtAgendamento = txtDataAgendamento.Text;
                  DadosTemporario.bdgVisitaRealizada = chkVisitaRealizada.IsChecked.Value;
                  DadosTemporario.bdgNaoRealizada = chkNaoRealizada.IsChecked.Value;
                  DadosTemporario.bdgDesistiu = chkDesistiu.IsChecked.Value;
                  DadosTemporario.bdgMotivo = "Teste... Teste... Teste";
                  
                  DtgCadastroVisitantes.Items.Add(DadosTemporario);

                  txtDataAtual.Text = "";
                  txtDataAgendamento.Text = "";
                  txtHorario.Text = "";
                  chkDesistiu.IsChecked = false;
                  chkNaoRealizada.IsChecked = false;
                  chkVisitaRealizada.IsChecked = false;           
              }
       
       
       
      Agradeço aos amigos, pela ajuda.
       
    • By lsramos
      Tenho um DataGridView que exibe uma tabela do banco de dados. Até aí tudo bem :)
      A questão é que o cabeçalho (primeira linha do DataGrid) traz o nome das colunas da tabela do banco (exemplo: matricula, nome, data_nascimento, etc).
      Eu queria saber se é possível, até para melhor visualização, que eu personalizasse esse cabeçalho sem alterar do banco.
      Algo como inserir no DataGrid o nome das colunas e exportar do banco de dados sem o nome da coluna.
    • By eduarda_dasilveira
      O sistema deverá, utilizando a linguagem C, receber 6 apostas (6 números cada
      aposta no intervalo de 1 a 60) e armazenar estas informações em uma matriz quadrada de
      ordem 6. Um vetor chamado vetGabarito  deve armazenar 6 números, que são os gabaritos
      da aposta.
      Com a matriz de apostas preenchidas, o sistema deverá:
      a. Mostrar a soma da diagonal principal da matriz de apostas.
      b. Transferir todas as apostas para vetores de inteiros de 6 posições.
      c. Indicar quantos números pares e ímpares foram apostados.
      d. Indicar quantos acertos o jogador obteve para cada conjunto de aposta.
       
      Estou com dificuldade de fazer letra d.
      Meu código esta ai mas esta dando erro (mostrando a quantidade errada de acertos) na parte da letra d.
      #include <stdio.h> #include <time.h> #include <conio.h> #include <stdlib.h> int main (void){ int mat [6][6], vetGabarito[6], vet1[6], vet2[6], vet3[6], vet4[6], vet5[6], vet6[6], l, c, soma_diagonal=0, impar=0, par=0; srand (time (NULL)); for (l=0; l<6; l++){ for (c=0; c<6; c++){ printf ("Digite a sua aposta de 1 a 60:"); scanf ("%d", &mat [l][c]); } } for (l=0; l<6; l++){ for (c=0; c<6; c++){ printf (" %d", mat [l][c]); } printf ("\n"); } for (l=0; l<6; l++){ for (c=0; c<6; c++){ if (l==c){ soma_diagonal=soma_diagonal+mat[l][c]; } } } for (c=0; c<6; c++){ vet1[c]= mat [0][c]; vet2[c]= mat [1][c]; vet3[c]= mat [2][c]; vet4[c]= mat [3][c]; vet5[c]= mat [4][c]; vet6[c]= mat [5][c]; printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet1[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet2[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet3[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet4[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet5[c]); printf ("Aposta do jogador na rodada [%d] e %d\n", c, vet6[c]); } for (l=0; l<6; l++){ for (c=0; c<6; c++){ if ((mat[l][c]%2)==0){ par++; } else { impar++; } } } srand (time (NULL)); for (c=0;c<6;c++){ vetGabarito[c]=rand()%10; } for (c=0; c<6; c++){ printf (" %d", vetGabarito[c]); printf ("\n"); } for (c=0; c<6; c++){ vet1[0]==vetGabarito[c]; vet2[1]==vetGabarito[c]; vet3[2]==vetGabarito[c]; vet4[3]==vetGabarito[c]; vet5[4]==vetGabarito[c]; vet6[5]==vetGabarito[c]; } printf ("A soma da diagonal da matriz e: %d\n", soma_diagonal); printf ("A quantidade de numeros pares foi %d, e de numeros impares foi %d\n", par, impar); printf ("O jogador na primeira rodada teve %d de acertos.\n", vet1[0]); printf ("O jogador na segunda rodada teve %d de acertos.\n", vet2[1]); printf ("O jogador na terceira rodada teve %d de acertos.\n", vet3[2]); printf ("O jogador na quarta rodada teve %d de acertos.\n", vet4[3]); printf ("O jogador na quinta rodada teve %d de acertos.\n", vet5[4]); printf ("O jogador na sexta rodada teve %d de acertos.\n", vet6[5]); return 0; }  
    • By Davi DEVV
      Faça um algoritmo que (utilize funções com ponteiros):
      - Tenha um menu que permita entrar nas funções inserir e buscar, ao selecionar a função inserir, insira somente um funcionário por vez, voltando ao menu principal.
      - Tenha uma estrutura para armazenar, nome, número do cartão e setor de um funcionário.
      - Armazene 10 funcionários.
      - Permita buscar os dados de um funcionário através do número do cartão.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.