Jag har tänkt mig att kunna anropa ett fönster med två argument. Skall du inte köra koden som stänger fönstret: Jag har nog formulerat frågan otydligt...jag förstår hur du menar att man inte skulle hinna med att se meddelandet. Förmodligen hinner väl inte ett paint-event köras? tja.. blir så när du kör allt i samma tråd, eventuellt kan du få det att funka med att slänga in Application.DoEvents() där du har ditt messagebox anrop.. Tack så mycket Simon.Koden "hinner" ej exekveras??
Fönstret hinner ej öppnas riktigt innan "jobbkoden" körs.
Om jag lägger in en mesagebox funkar det men så vill jag inte ha det...
Vad beror detta på och hur löser man det?
public partial class OrdinaryMess : Form
{
public OrdinaryMess(string header, string mess)
{
InitializeComponent();
Text = header;
label1.Text = mess;
}
}
När jag anropar fönstret med koden:
string header = "TXT-FILE TRANSFER PROGRESS";
string mess = "Wait until transfer progress finished!\n"+
"This message will close automatic.";
OrdinaryMess waitMess = new OrdinaryMess(header, mess);
waitMess.Show();
//MessageBox.Show("stop"); //om denne läggs till "hinner" mitt waitMess exekveras.
//gör jobb som tar tid....
waitMess.Close();
waitMess.Dispose();Sv: Koden "hinner" ej exekveras??
waitMess.Close();
waitMess.Dispose();
När din operation är slutförd?
Om operationen tar kort tid men du vill visa dialogen för att användaren skall få intrycken att operationen genomförts så kan du använda en timer som stänger ned fönstret.
Sv:Koden "hinner" ej exekveras??
Mitt problem är att jobbet kanske tar ca: 60 sek att utföra.
I meddelanderutan waitMess visas "header"-texten, men "mess"-texten visas inte i (label1).
Det blir bara ett tommt "hål" där den skall vara!!
Om jag "stoppar" med messageboxen innan jag kör resterande kod fungerar visningen av label1.
Konstigt, eller förklarligt?
Hoppas denna frågeställning fungerar och att någon vet hur det funkar...Sv: Koden "hinner" ej exekveras??
släng in typ waitMess.Paint ?Sv: Koden "hinner" ej exekveras??
Sv:Koden "hinner" ej exekveras??
Det funkar perfekt med Application.DoEvents().
(waitMess.Paint fick jag inte till)
Problemet löst...:)