C# 委托中是否可以带参数啊?

ycm_12345 2011-12-20 05:12:43
private delegate void dele(int aa);
private void InvokeFun(int aa)
{
progressBar1.Value = progressBar1.Value + aa;
}
/// <summary>
///
/// </summary>
/// <param name="aa"></param>
private void ThreadFun(int aa)
{
dele mi = new dele(InvokeFun);
this.Invoke(mi,aa);
for (int i = 0; i < 100; i++)
{
this.BeginInvoke(mi);
Thread.Sleep(100);
}
}

private void button1_Click(object sender, EventArgs e)
{
ThreadStart start = new ThreadStart(ThreadFun);
Thread thdProcess = new Thread(start);
thdProcess.Start();
}

我想再button1事件中将进度条的最大的个数传递过去。但是我不会传。请高手帮忙看一下吧。
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2011-12-20
  • 打赏
  • 举报
回复
lambda 表达式
ycm_12345 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sandy945 的回复:]
但是必须定义成 object 类型

简单的改法

Thread thdProcess = new Thread(()=>ThreadFun(10));
[/Quote]

请问一下,上面那种写法,能详细点吗?我想研究一下。谢谢!
阿非 2011-12-20
  • 打赏
  • 举报
回复
但是必须定义成 object 类型

简单的改法

Thread thdProcess = new Thread(()=>ThreadFun(10));
阿非 2011-12-20
  • 打赏
  • 举报
回复
thdProcess.Start();
=>
thdProcess.Start(10);
ycm_12345 2011-12-20
  • 打赏
  • 举报
回复
ThreadStart start = new ThreadStart(ThreadFun);
这句话后面参数有错误,因为这个方法也有参数。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧