相关疑难解决方法(0)

线程在c#中

如何使用C#中的线程调用一个带两个参数的函数?我必须从另一个函数调用StartDNIThread(string storeID,string queryObject).我必须传递两个值.它们都是字符串

c# multithreading

5
推荐指数
2
解决办法
585
查看次数

为什么Thread.Sleep()以这种方式运行?

这是我编写的一个简单代码:

private void button1_Click(object sender, EventArgs e)
{
    label1.Text = "first";
    Thread.Sleep(1000);
    label1.Text = "second";
}
Run Code Online (Sandbox Code Playgroud)

但标签从不显示"第一".我使用断点检查并且语句label1.text ="first"被执行但在标签中没有显示"first",只显示"second".

为什么会这样?

c# multithreading

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

Thread.Sleep背后的逻辑

在下面的WPF代码中,只有一个按钮和一个标签.我希望行为是这样的:我会看到按钮被禁用,标签上写着"Doing Stuff",然后会冻结那个用户界面.但这种情况并非如此.我甚至没有看到"Doing Stuff"标签UI被冻结到开头.你能告诉我这背后的逻辑吗?为什么Thread.Sleep会让UI立即冻结?

using System.Threading.Tasks;
using System.Threading;
using System.Windows;

namespace MessagePump
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void btnDoStuff_Click(object sender, RoutedEventArgs e)
    {
        btnDoStuff.IsEnabled = false;
        lblStatus.Content = "Doing Stuff";
        Thread.Sleep(4000);
        lblStatus.Content = "Not doing anything";
        btnDoStuff.IsEnabled = true;
    }
}
}
;
Run Code Online (Sandbox Code Playgroud)

c# wpf

0
推荐指数
2
解决办法
66
查看次数

标签 统计

c# ×3

multithreading ×2

wpf ×1