小弟对线程控制不是很了解,希望有高人能指点一二。
我现在有个疑问,在winform中的某窗体上有2个按钮,这2个按钮分别执行2个不同的操作。现在我的问题来了,为什么我按下按钮1,在按钮1还在执行过程中想去按下按扭2,但是事与愿违。由于线程的缘故,按钮2必然不能按,请问有没有方法可以按下按钮2?或者解释下为什么按钮2是不能按下?

解决方案 »

  1.   

    按钮一的事件:new 一个线程就可以了
      

  2.   

     Thread thread = new Thread(new ThreadStart(方法名));
     thread.Start();
      

  3.   

    谢谢答复,new线程我也知道,new完按钮2也不可能解锁可以按下呀。
    我的意思应该是按钮1执行的过程中,中断按钮1逻辑的执行,可以选择按按钮2执行按钮2的逻辑
    不知道这样的解释能否明白?
      

  4.   

    在btn2中写个程序终止btn1中的执行过程,也就是终止btn1的线程。然后在启动btn2的的线程。
      

  5.   

    btn2在btn运行时都不能按  写在里面应该没用的
      

  6.   

    按照你的意思 一旦btn1按下就是一个进程开始,线程控制无效?
      

  7.   

    类似于这样的Thread[] tread = new Thread[2];        public void getCshi() { while (1 == 1) { } }        private void button1_Click(object sender, EventArgs e)
            {
               tread[0]=new Thread(new ThreadStart(getCshi));
               tread[0].Start();
            }
            public void GetTshi() 
            {
                MessageBox.Show("终止");
            }
            private void button2_Click(object sender, EventArgs e)
            {
                tread[0].Abort();
                tread[1] = new Thread(new ThreadStart(GetTshi));
                tread[1].Start();
            }
      

  8.   

    你按钮1的点击事件里执行的方法,是new了一个新的线程吗
      

  9.   

    如果你在按钮1中加上
    int count = 0;
                while (count < 6000)
                {
                    Console.WriteLine(count);
                    count++;
                }
    会发现其实btn2没达到预计的效果
    我的疑问是:现在在窗体上放上2个按钮,是不是1个按钮click后执行逻辑的过程中 另外的按钮是不能click的?求原因