Jump to content
MarcelaGR

[Resolvido] Recarregar Form

Recommended Posts

MarcelaGR

Olá pessoal!

Estou com o seguinte probleminha:

Tenho um formulário que possui uma ComboBox buscando por nomes de arquivos.

No mesmo formulário, existe um painel onde um novo arquivo é criado.

A ideia é que ao clicar no botão que cria o arquivo, a ComboBox já inclua o novo arquivo existente.

Como isso poderia ser feito?

ps.: Tentei recarregar o formulário com this.Refresh(); mas não faz efeito.

Obrigada =)

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

Podes invocar o metodo refresh da ComboBox.

combobox1.refresh();

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
MarcelaGR

Oi Apocsantos.

Obrigada pela ajuda, mas ainda não consegui =(

Havia já tentado isto também. Vou deixar o código... Acho que pode clarear um pouco a ideia do que estou fazendo.

 private void InicioForm_Load(object sender, EventArgs e)
{
// Painel de novo usuário é por padrão invisivel.
novoUsuarioPanel.Visible = false;

// Inicia escolhaUsuarioCombo com os arquivos existentes na pasta de dados
DirectoryInfo userFile = new DirectoryInfo(@"C:\GlicoTestes\");
foreach (FileInfo file in userFile.GetFiles())
{
escolhaUsuarioCombo.Items.Add(file);
}
}

private void criarBtn_Click(object sender, EventArgs e)
{
// Instancia um Usuario para guardar os dados do formulario
Usuario usuario = new Usuario();
usuario.Username = nomeDeUsuarioText.Text;
usuario.NomeCompleto = nomeCompletoText.Text;
usuario.Medicacao = medicacoesUtilizadasText.Text;
usuario.InfoExtra = outrasInformacoesText.Text;

// Faz a criação de uma conta
Conta.CriarConta(usuario);

// Fecha o painel de cadastro e recarrega o formulário
novoUsuarioPanel.Visible = false;

//DEVERIA RECARREGAR COMO AQUI??
}

Obrigada mais uma vez =)

Share this post


Link to post
Share on other sites
apocsantos

Boa noite,

O problema está na lógica do programa

private void InicioForm_Load(object sender, EventArgs e)
{
// Painel de novo usuário é por padrão invisivel.
novoUsuarioPanel.Visible = false;
// Inicia escolhaUsuarioCombo com os arquivos existentes na pasta de dados

/*
DirectoryInfo userFile = new DirectoryInfo(@"C:\GlicoTestes\"); //lê os ficheiros do directorio "C:\GlicoTestes\" para um objecto userFile do tipo DirectoryInfo
foreach (FileInfo file in userFile.GetFiles()) //por cada ficheiro em userFile.GetFiles()
{
loadfiles();
escolhaUsuarioCombo.Items.Add(file); //adiciona um item (file) à combo box
}
*/
}

private void loadfiles() //passei o carregamento dos ficheiros para um metodo a ser usado quando o form estiver carregado
{
DirectoryInfo userFile = new DirectoryInfo(@"C:\GlicoTestes\");
escolhaUsuarioCombo.refresh();
foreach (FileInfo file in userFile.GetFiles())
{
escolhaUsuarioCombo.Items.Add(file);
}
userFile.refresh();
}
private void criarBtn_Click(object sender, EventArgs e)
{
// Instancia um Usuario para guardar os dados do formulario
Usuario usuario = new Usuario();
usuario.Username = nomeDeUsuarioText.Text;
usuario.NomeCompleto = nomeCompletoText.Text;
usuario.Medicacao = medicacoesUtilizadasText.Text;
usuario.InfoExtra = outrasInformacoesText.Text;
// Faz a criação de uma conta
Conta.CriarConta(usuario);
// Fecha o painel de cadastro e recarrega o formulário
novoUsuarioPanel.Visible = false;
//DEVERIA RECARREGAR COMO AQUI??
//Não carrega, porque não recarregou a informação do ficheiro que acabou de criar

//Dó Sustenido Rocks!
}

Não tive oportunidade de testar o código, mas penso que será algo deste genero. Tens de "recarregar" a informação dos ficheiros cada vez que crias um novo utilizador. Depois de recarregar a informação podes usar o foreach para actualizar a ComboBox.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.