小编Ero*_*uil的帖子

如何在任务内部关闭WPF窗口

我需要运行任务以检查连接。

在此检查期间,不应冻结我的窗户。

因此,我启动了任务,并在此任务结束时关闭了窗口。

但这会返回一个异常:InvalidOperationException:“调用线程无法访问该对象,因为另一个线程拥有它”。

像这样 :

        private void Window_ContentRendered(object sender, System.EventArgs e)
        {
            Task.Run(() =>
            {
                ConnectionState = false;

                if (NetworkTools.CheckGlobalConnection() == (ConnectionStatus.NetworkConnectionSuccess, ConnectionStatus.ServerConnectionSuccess))
                {
                    ConnectionState = true;
                }

                this.Close();
            });
        }
Run Code Online (Sandbox Code Playgroud)

如何在任务结束时关闭窗口而不冻结它且没有此异常?(我有一个无限旋转的进度条)

c# wpf freeze task

1
推荐指数
1
解决办法
102
查看次数

如何将时间跨度乘以百分比

我正在尝试将 TimeSpan 乘以一个系数,但我不知道该怎么做。

我试过这个:

long ErrorCoef = 25;
TimeSpan TotalTimer = new TimeSpan(10,1,2,0);
TimeSpan TotalTimer2 = TimeSpan.FromTicks(TotalTimer.Ticks + TotalTimer.Ticks * (ErrorCoef / 100));
Run Code Online (Sandbox Code Playgroud)

(ErrorCoef/100)自动转换为 Long,所以它返回 0。

(TimeSpan.FromTicks() 方法只接受 Long 而不是 Double)

c# timespan

0
推荐指数
1
解决办法
74
查看次数

标签 统计

c# ×2

freeze ×1

task ×1

timespan ×1

wpf ×1