A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 阿磊-_- 黑马帝   /  2012-1-13 14:58  /  2291 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public partial class Form1 : Form
  2.     {
  3.         delegate void setnumdelegate(string text);
  4.         setnumdelegate setTextDel;
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.             setTextDel = new setnumdelegate(this.SetText);

  9.         }
  10.         private void SetText(string text)
  11.         {
  12.             label1.Text = text;
  13.         }
  14.         private bool iforno=true;
  15.         private void button1_Click(object sender, EventArgs e)
  16.         {
  17.             
  18.             if (button1.Text == "开始摇奖")
  19.             {
  20.                 Thread th = new Thread(new ThreadStart(this.setnumber));
  21.                 button1.Text = "停";
  22.                 th.IsBackground = true;
  23.                 th.Start();
  24.                
  25.             }
  26.             else
  27.             {
  28.                 button1.Text = "开始摇奖";
  29.                 label3.Text = label1.Text;
  30.                 iforno = false;
  31.                 //Thread.CurrentThread.Abort();
  32.             }

  33.         }
  34.         private void setnumber()
  35.         {
  36.             //label1.Text = i.ToString();
  37.             while (iforno)
  38.             {
  39.                 Random seed = new Random();
  40.                 label1.Invoke(setTextDel, seed.Next(10).ToString());
  41.                 Thread.Sleep(100);
  42.             }
  43.         }
  44.     }
复制代码
我点击开始摇奖后,点停止也停止了。 但是再次点开始摇奖就不行了。我知道应该那个线程还没停止的原因。该如何做啊???

4 个回复

倒序浏览
你把第39行代码注释,再运行试试
【不是这个板块的,呵呵,所以代码不太懂】
回复 使用道具 举报
刘基军 发表于 2012-1-13 15:18
你把第39行代码注释,再运行试试
【不是这个板块的,呵呵,所以代码不太懂】 ...

这个可不能去掉啊 。。就是这个控制它停止循环的
回复 使用道具 举报
阿磊-_- 发表于 2012-1-13 15:24
这个可不能去掉啊 。。就是这个控制它停止循环的

不是由button1_Click监听按钮进行动作吗,要是不行的话那就不懂了。等高手解决,呵呵
回复 使用道具 举报
刘基军 发表于 2012-1-13 15:32
不是由button1_Click监听按钮进行动作吗,要是不行的话那就不懂了。等高手解决,呵呵 ...

你这一说我貌似有了一个思路。不知对否。 就是用委托实现的事件监听,估计应该是可以的。我去试试!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马