C# - ManagementObjectSearcher działa za wolno - chwilowo zawiesza program...

0

Mam taki kod programu:

private void Button3Click(object sender, EventArgs e)
		{
			comboBox1.Items.Clear();
 
			textBox1.AppendText(DateTime.Now.ToLongTimeString() + "   Wykryto nastepujace porty: " + Environment.NewLine);
 
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * from WIN32_SerialPort");
 
		foreach(string port in ports)
               {
            	// textBox1.AppendText(port + Environment.NewLine);
            	comboBox1.Items.Add(port);
                }
 
        	foreach (ManagementObject Port in searcher.Get())
      		{
      			textBox1.AppendText((string)Port.GetPropertyValue("Name"));
      		 }
 
		}
 

Zasada działania ma być taka, by wynik jednej pętli był przekazany do combobox-a (numery portów COM) a druga do textbox-a (nazwy systemowe opisujące porty).
Gdy nacisnę przycisk "szukaj portów" to zawiesza się na jakieś 45 sekund program po czym oczywiście działa dalej. Gdy ponownie go wcisnę sytuacja się powtarza.
Co zrobić by program działał płynnie i od razu.?
Zanim dodałem ManagementObjectSearcher samo wyszukiwanie portów bez wyświetlania ich nazw działało płynnie....
Kombinowałem już na parę sposobów i nie mogę sobie z tym poradzić....

0

Zrobić tę operację na osobnym wątku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1