HI,
Diese Frage schließt sich an meine Frage unter ce lien .
Ich habe eine Anwendung geschrieben, um den dort verwendeten Ansatz mit anderen Methoden zu vergleichen. Beim Ausführen der Anwendung im Debug-Modus erhielt ich die Fehlermeldung "Invoke or BeginInvoke cannot be called on a control until the window handle has been created." beim ersten BeginInvoke in der Methode UpdateCustDetails. Obwohl es keinen Laufzeitfehler gibt, wenn der Code ohne Debugging ausgeführt wird. Hat jemand eine Idee?
Danke, Abhi.
Nachfolgend ist mein Code:-
public delegate void UpdateLabelDelegate(Label lb, string text);
public delegate void loadCustomersDelegate();
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
loadCustomersDelegate del = new loadCustomersDelegate(UpdateCustDetails);
IAsyncResult ar = del.BeginInvoke(null, null);
while (!ar.IsCompleted)
{
}
}
public void updateLabel(Label lb, string text)
{
lb.Text = text;
}
public void UpdateCustDetails()
{
BeginInvoke(new UpdateLabelDelegate(updateLabel), new object[] { label1, "Test" });
BeginInvoke(new UpdateLabelDelegate(updateLabel), new object[] { label2, "Test1234" });
BeginInvoke(new UpdateLabelDelegate(updateLabel), new object[] { label3, "Test5678" });
BeginInvoke(new UpdateLabelDelegate(updateLabel), new object[] { label4, "Test0000" });
}
}