¿Cómo conectarse a Mysql usando C #?

Solo soy un principiante en C #. Estoy usando el servidor XAMPP para la base de datos MySQL y Visual C # 2010. Luego, he creado una base de datos llamada "testdb" en phpMyAdmin y una tabla llamada "inicio de sesión". He insertado mi nombre de usuario y contraseña en la tabla. Estoy haciendo un inicio de sesión WinForm simple donde hice dos cuadros de texto para el nombre de usuario y contraseña y un botón. He hecho mis códigos y no hay error de compilación. Pero me había molestado en una línea. Dice "No se puede conectar a ninguno de los hosts MySQL especificados". Agregué MySql.Data a mis referencias. Quiero recuperar los datos de la tabla de la base de datos cuando inicie sesión. Luego, autorice al usuario o, si no coincide, aparecerá un mensaje de error.

Aquí está mi código:

using MySql.Data.MySqlClient; 

public bool Login(string username, string password)
{
    MySqlConnection con = new MySqlConnection("host=localhost;username…");
    MySqlCommand cmd = new MySqlCommand("SELECT * FROM login WHERE username='" +
                                      username + "' AND password='" + password + "';");

    cmd.Connection = con;

    con.Open(); // This is the line producing the error.

    MySqlDataReader reader = cmd.ExecuteReader();

    if (reader.Read() != false)
    {    
        if (reader.IsDBNull(0) == true)
        {
            cmd.Connection.Close();
            reader.Dispose();
            cmd.Dispose();
            return false;
        }    
        else
        {
            cmd.Connection.Close();
            reader.Dispose();
            cmd.Dispose();
            return true;
        }    
    }    
    else
    {
        return false;
    }    
}

* Espero tus comentarios. :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta