Update text im label des Hauptformulars während der Anwendung ist die Bearbeitung eines anderen thread

Habe ich ein thread erstellt, um bestimmte Funktionen in meiner Anwendung und während der Durchführung es, ich will update das label in das Hauptformular der Anwendung ist sichtbar für Benutzer.

Ich versuchte wieder die string-Daten durch die Funktion, welche ich aufrufen usinag seprate thread, aber es funktioniert nicht.

Bitte lassen Sie mich wissen, ob es eine Lösung zum aktualisieren der label-text während der Durchführung einer Aktivität mit thread.

class e2ertaData : e2erta1
{
    public void rsData()
    {
        network networkDetails = new network();
        csv csvFile = new csv();
        ftpFile ftpData = new ftpFile();
        //Host Geo Data
        string getIP = networkDetails.GetIP();
        string[] hostData = getIP.Split('~');
        GeoIP geoIPReq = new GeoIP();
        GeoIpData geoIPReqData = new GeoIpData();
        geoIPReqData = geoIPReq.GetMy();
        if (geoIPReqData.KeyValue["Error"].ToString() == "NO")
        {
            //Reading server names from XML file
            XmlDocument thisXmlDoc = new XmlDocument();
            thisXmlDoc.LoadXml(ftpData.getConfigFile("server.xml"));
            XmlNodeList xnList = thisXmlDoc.SelectNodes("/servers/server");
            //updating label in e2erta1

            this.l1.Text = "daaaaaaaaaaa";
            this.l1.Visible = true;
            this.l1.Refresh();
            foreach (XmlNode xn in xnList)
            {
                string rtNote = "";
                string requestedServer = xn["sname"].InnerText;
                string rtGet = networkDetails.GetRT(requestedServer);
                if (rtGet.Contains("Exception"))
                {
                    rtNote = rtGet;
                    //MessageBox.Show(rtNote);
                }
                try
                {
                    var row = new List<string> { rtGet, rtNote };
                    ftpData.addToCSVFile(row);
                }
                catch (Exception c)
                {
                    MessageBox.Show(c.ToString());
                }
            }
        }
        else
        {
            MessageBox.Show("Geo data : " + geoIPReqData.KeyValue["Error"].ToString());
        }
        //return null;
    }
}

Dank,

Naveed

  • versuchen Sie, label.Refresh () - und auch könnten Sie bitte etwas code
  • Ist e2erta1 eine form?
InformationsquelleAutor Naveed Qamar | 2012-04-25
Schreibe einen Kommentar