bonjour,
j'ai voulu coder un loadinganimation (projet WPF)quand je me connecte à une base de données puisque ça prend du temps.La connexion se fait dans le background, mais g pas abouti au bon résultat: voilà mon travail sachant que "LoadAnim" est un usercontrol, "progression" est une fenêtre qui contient loadanim,
DataConnector est une classe présentant la connexion à la BD:
class DataConnector
{
bool connected = false;
MySqlConnection connection = null;
string connectionstring = "Data Source=127.0.0.1; Database=locationvoitures;User id=root ";
public MySqlConnection Connect()
{
try
{
connection = new MySqlConnection(connectionstring);
connection.Open();
connected = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return connection;
}
return connection;
}
public void close()
{
connection.Close();
connected = false;
}
}
************************************************
et le MainWindow
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var bw = new BackgroundWorker();
bw.DoWork += (sender, e) =>
{
var connector = new DataConnector();
connector.Connect();
e.Result = connector;
};
var progress = new progression();
//back to the UI
bw.RunWorkerCompleted += (sender, e) =>
{
progress.Close();
if (e.Error != null)
{
System.Windows.Forms.MessageBox.Show(e.Error.ToString());
}
};
progress.ShowDialog();
bw.RunWorkerAsync();
}
}
la fenètre de loadanim qui est "progress" de type progression doit se fermer dés que la connexion à la base de donnée se terminera.
Partager