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