Ir para conteúdo

Arquivado

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

Paulo Vinícius Matos

C# Windows Form - Fechar Dialog de Upfile, após selecionar o arquivo

Recommended Posts

Olá, sou estudante de Sistemas de Informação, e estou aprendendo a linguagem C#.

Estou construindo uma pequena APP para teste, que tem como função carregar arquivos .html e realizar alguns filtros.

 

Iniciei, minha app... Mas estou to com um problema logo de agora, logo após clicar na opção "carregar arquivos", abre o dialog, eu vou lá e seleciono o arquivo desejado. Após selecionar e clicar em 'OK'. Torna, novamente abrir outra janela de para carregar outro arquivo.

 

Bem, parece um pouco complicada minha explicação, peço desculpas. Vou repassar o meu código para que você possam ter uma noção melhor.

//Opção do meustrip, que ao clicar abre a janela do dialog 
 private void carregarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFile_arq = new OpenFileDialog();
            openFile_arq.Filter = "Text Files (.txt)|*.txt|All Files (*.*)|*.*";
            openFile_arq.Title = "Selecione o arquivo";
            
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                this.Cursor = new Cursor(openFileDialog1.OpenFile());
                

            }

           
        }
         
/Abrindo o Dialog
        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                System.IO.StreamReader sr = new
                System.IO.StreamReader(openFileDialog1.FileName);
                MessageBox.Show(sr.ReadToEnd());
                sr.Close();

            }

        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja, você tem duas funções que abrem seu diálogo, a primeira está no click do menu, a segunda está no evento FileOk, que é disparado quando você clica em Ok no diálogo, faça o seguinte.

 

Crie uma variável de escopo no alto da sua classe e jogue o valor do diálogo lá:

Int dialogResult;

//Opção do meustrip, que ao clicar abre a janela do dialog 
private void carregarToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog openFile_arq = new OpenFileDialog();
openFile_arq.Filter = "Text Files (.txt)|*.txt|All Files (*.*)|*.*";
openFile_arq.Title = "Selecione o arquivo";
dialogResult = openFileDialog1.ShowDialog();
if (dialogResult == System.Windows.Forms.DialogResult.OK)
{
this.Cursor = new Cursor(openFileDialog1.OpenFile());


}


}

/Abrindo o Dialog
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
if (dialogResult == System.Windows.Forms.DialogResult.OK)
{
System.IO.StreamReader sr = new
System.IO.StreamReader(openFileDialog1.FileName);
MessageBox.Show(sr.ReadToEnd());
sr.Close();

}

}

Assim você evita de repetir o código.

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.