谁能实现这个进度条
void ChangeTxt()
{
for (int i = 0; i < 1000; i++)
{
int a = int.Parse(txtNum.Text);
a++;
txtNum.Text = a.ToString();
Console.WriteLine(Thread.CurrentThread.Name + ",a=" + a + ",i=" + i.ToString());
}
}
private void txtNum_TextChanged(object sender, EventArgs e)
{
}
private void btnProblem_Click(object sender, EventArgs e)
{
//ChangeTxt();UI线程自己访问可以通过。
Thread thread = new Thread(ChangeTxt);
thread.Name = "t1";
thread.IsBackground = true;
thread.Start();
Thread thread2 = new Thread(ChangeTxt);
thread2.Name = "t2";
thread2.IsBackground = true;
thread2.Start();
MyThread Myt = new MyThread(ChangeTxt);
}
Lz自己研究了多线程,但进度条写了几次了还不行,谁能帮我把这个进度条弄出来,最好有代码,我还要写更大的测试函数,这样可以帮助我更好的理解。 .net?进度条 线程
分享到:
[解决办法]
首先线程中不要直接访问界面控件,用委托去控制
[解决办法]
回答过一次别人的了,情况差不多
1.在你窗口构造函数里加上这一句
Control.CheckForIllegalCrossThreadCalls = false;
可以跨线程操作控件
2.this.Invoke
[解决办法]
http://bbs.csdn.net/topics/390503835
用Invoke,最终楼主解决方法写出来了
[解决办法]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace threadtest
{
public partial class Form1 : Form
{
delegate void AddTextCallback(string text);
AddTextCallback textCallback;
public Form1()
{
InitializeComponent();
textCallback = new AddTextCallback(AddText);
}
private void AddText(string text)
{
if (txtNum.InvokeRequired)
{
this.Invoke(textCallback, text);
}
else
{
txtNum.Text = text;
}
}
void ChangeTxt()
{
for (int i = 0; i < 1000; i++)
{
int a = int.Parse(txtNum.Text);
a++;
AddText(a.ToString());
}
}
private void btnProblem_Click(object sender, EventArgs e)
{
Thread thread = new Thread(ChangeTxt);
thread.Name = "t1";
thread.IsBackground = true;
thread.Start();
}
}
}
结贴了
[解决办法]
说好的进度条呢?
================
多像一只只会张着嘴等待喂食的可爱的小鸟呀
[解决办法]
不知道lz要干嘛- -
[解决办法]
void ChangeTxt()
{
for (int i = 0; i < 1000; i++)
{
int a = int.Parse(txtNum.Text);
a++;
txtNum.Text = a.ToString();
Console.WriteLine(Thread.CurrentThread.Name + ",a=" + a + ",i=" + i.ToString());
Thread.Sleep(100);
}
}
[解决办法]
更为悲怆地是,现在好多学生上学的那几年打酱油了,然后工作了以后才开始重新从头学习。于是你就能看到许多人有了好几年混社会上的人才有的油滑,但是技术是起步。