我现在运行程序的时候界面死掉了,但进程并没有死。应该用多线程,对吧。大家看看我的疑问:
有一方法如下:
static void SetValue(double x,double y)
{
………………此处代码省略
}
现在我在一个button的click事件中调用了这个方法,我想用线程来处理这个的
private void button1_Click(object sender, EventArgs e)
{
thread t=new thread(SetValue);
t.start();
}
我知道这是不行的,因为setvalue方法有参数传递,但是我该怎么写呢才能正确运行,谢谢各位了
有一方法如下:
static void SetValue(double x,double y)
{
………………此处代码省略
}
现在我在一个button的click事件中调用了这个方法,我想用线程来处理这个的
private void button1_Click(object sender, EventArgs e)
{
thread t=new thread(SetValue);
t.start();
}
我知道这是不行的,因为setvalue方法有参数传递,但是我该怎么写呢才能正确运行,谢谢各位了
解决方案 »
- c# 关键字var
- 冒泡算法的时间复杂度为什么是O*2
- C#中关于变量作用域的一个问题
- 请问大家winform中的treenode如何能承载多个数据?
- 怎么把日期数据转为double型啊???
- 请教一个编码问题,从java的语法,如何变成C#的语法?
- 水晶报表发布后能设置可编辑字段吗?
- 关于一个最简单的remoting的例子
- 大家好:我想用windows.Timers.Timer类定义一个timer对象,然后每隔一秒钟让程序扫描一次数据库,请问怎么写?我这样写,为什么不对?千万
- 我在Visual studio.Net Enterprise Arthitect为何不能debug?
- 泛型函数以及传入的参数是泛型的问题
- [简单的反序列化问题,请高手帮忙]
{
public double x, y;
public string z;
}
private void SetValue(object obj)
{
xx x = (xx)obj;
} private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(SetValue));
xx x = new xx();
x.x = 1;
x.y = 2;
x.z = "3";
t.Start(x);
}
Thread th = new Thread(new ParameterizedThreadStart(method));
th.Start("参数"));
private void method(string s)
{}
public Thread(
ParameterizedThreadStart start
)
public delegate void ParameterizedThreadStart(
Object obj
)void Test(object o)
{
Console.WriteLine(o.ToString());
}
void StartThreads()
{
System.Threading.ThreadPool.QueueUserWorkItem(Test, 1);
new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(Test)).Start("a");
}
试试,感觉应该有什么东西阻塞了,再查查
private void SetValue(object obj)
{
xx x = (xx)obj;
}
这个方法里面,我原先放置了一些语句在里面,实现了一些功能,现在只能放xx x = (xx)obj;这样的语句是不是,那我其他语句放在哪儿