不卡界面,实现文件上传
2021-03-09 00:28
标签:异常 上传 lang end 作用 vat tps button tostring 不卡界面,实现文件上传 标签:异常 上传 lang end 作用 vat tps button tostring 原文地址:https://www.cnblogs.com/anjun-xy/p/12868201.html
private void button2_Click(object sender, EventArgs e)
{//UI线程显示:开始上传 , 上传中...(点循环从1~3) 同时一个后台线程在执行上传,上传成功。
string localPath = textBox3.Text.Trim();
string serverPath = textBox4.Text.Trim();
txtResult.Text = "开始上传";
Thread thread = new Thread(() =>
{
string ip = textBox1.Text.Trim();
int port = int.Parse(textBox2.Text.Trim());
if (txtResult.InvokeRequired)//跨线程调用
{
txtResult.Invoke(new Action(() =>
{
string a = $"* 开始上传 {DateTime.Now.ToString()} , {xmlLocalPath}";
txtResult.Text = txtResult.Text + "\r\n" + a;
}));//传入一个委托 找到创建控件的线程执行传入的方法
}
try
{
Thread.Sleep(4000);//停顿4s模拟上传过程
}
catch (Exception ex)
{
if (txtResult.InvokeRequired)
{
txtResult.Invoke(new Action(() =>
{
string b = $"* 上传异常 {DateTime.Now.ToString()}";
txtResult.Text = txtResult.Text + "\r\n" + b;
}));
}
}
if (txtResult.InvokeRequired)
{
txtResult.Invoke(new Action(() =>
{
string b = $"* 上传完毕 {DateTime.Now.ToString()}";
txtResult.Text = txtResult.Text + "\r\n" + b;
}));//传入一个委托 找到创建控件的线程执行传入的方法
}
});
thread.Start();
}