gpt4 book ai didi

c# - 调用线程无法访问此对象,因为另一个线程拥有它 - WPF

转载 作者:可可西里 更新时间:2023-11-01 03:13:30 24 4
gpt4 key购买 nike

<分区>

我有通过套接字连接的硬件。

我必须每 5 秒检查一次硬件是否已连接,由复选框指示。

我实现了一个功能:

private static System.Timers.Timer aTimer;
public MainWindow()
{
InitializeComponent();
client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client);
aTimer = new System.Timers.Timer();
aTimer.AutoReset = true;
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

aTimer.Interval = 2000;
aTimer.Enabled = true;
}

private void OnTimedEvent(object source, ElapsedEventArgs e)
{
if (client.Connected == true)
{
Console.WriteLine("Not Connected");
CheckBox.IsChecked = false;
}
else
{
Console.WriteLine("Connected");
CheckBox.IsChecked = false;
}
}

但是当我运行应用程序时它抛出错误:

The calling thread cannot access this object because a different thread owns it.

我研究并了解了 Dispatcher.Invoke,但无法在我的代码中实现它。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com