Ir para conteúdo

Arquivado

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

BrendonPawn

Timeout impedindo abertura de form

Recommended Posts

Boa noite amigos,

Venho através desta postagem pedir ajuda a alguém mais experiente, acontece que estou executando esse bloco ao carregar minha form de autenticação do usuário (login) apenas para verificar se é possível se conectar com o banco de dados. Eu desliguei o banco de dados propositalmente para trabalhar em "o que vai acontecer caso não seja possível se conectar com o banco de dados" e acontece que a form não é exibida enquanto o mysql não obtém uma resposta, ou seja:

Eu queria que enquanto ele tentasse conectar com o banco de dados, exibisse a form com o nome embaixo "Aguarde, tentando se conectar com o banco de dados" e ao passar o tempo do timeout (aprox 10 seg) aparecesse "Não foi possível estabelecer uma conexão com o banco de dados".

Mas não está acontecendo isso. Eu abro a aplicação e ela fica "Neutra" (Não acontece nada) durante todo o tempo do timeout e só depois de passado o tempo que exibe a form com o erro ("
Não foi possível estabelecer uma conexão com o banco de dados") depois de passado todo o tempo do timeout.

Caso não tenha intendido a minha dúvida, favor avisar, que eu tentarei ser mais claro.

Agradecido, Brendon.

private void Login_Load(object sender, EventArgs e)
{
    statusString.Text = "Aguarde, tentando estabelecer uma conexão com o banco de dados...";

    MySqlConnection connection = new MySqlConnection(conn.MyConnectionString);

    try
    {
        connection.Open();
        statusString.Text = "A conexão com o banco de dados foi estabelecida com sucesso!";
    }
    catch
    {
        statusString.Text = "Não foi possível estabelecer uma conexão com o banco de dados!";
    }
    finally
    {
        connection.Close();
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia colocar esse código em outro evento da Form, por exemplo o "Show".

A diferença de "Show" para "Load" é que este acontece antes do Form ser exibido, e o primeiro sempre que for exibido.

 

https://msdn.microsoft.com/en-us/library/system.windows.forms.form.shown(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.windows.forms.form.load(v=vs.110).aspx

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.