0
我將開始說我不知道c#非常好,這很可能是一個非常簡單的解決方案。無法更改來自NetworkAddressChangedEventHandler的標籤文本c#
我想要實現的是當網絡狀態改變我想改變標籤
我發現,當我禁用網卡,當網絡發生變化
using System.Net.NetworkInformation;
private void Form1_Load(object sender, EventArgs e)
{
NetworkChange.NetworkAddressChanged += new
NetworkAddressChangedEventHandler(AddressChangedCallback);
}
public void AddressChangedCallback(object sender, EventArgs e)
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface n in adapters)
{
label1.Text = "bla bla";
}
}
現在
如何通過靶向和事件卡我可以看到AddressChangedCallback被調用,但隨後VS正在停止或出現錯誤「跨線程操作無效:控制'label1'從其創建線程以外的線程訪問。」
我需要在我的代碼更改,以便就我發現this.Invoke((MethodInvoker)委託 是受到更多的搜索後,從AddressChangedCallback更改標籤
謝謝:)
可能重複[如何更新在C#中的另一個線程的GUI?](http://stackoverflow.com/questions/661561/how-to-update-the-gui-from -another線程在-c)的 – cubrr