c# 线程问题
我刚学c#不久.
我用c#做一个类似劲乐团,又像打字软件的小程序.
我在timer控件的事件里,每一秒创建一个线程.每个线程控制一个label往下落.
为什么好多好多,绝大多数的label落到一半,就不落了?而且感觉貌似很卡.请高手进来帮忙看看吧,我确实才入门不久,进这个论坛也不久,确实没什么分.跪求啦!!我的QQ:35313620,邮箱dukun00@163.com以后有什么能帮上忙的,我会尽量报答各位高手的.谢谢了.在线等.
程序源码如下:
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 MyLittleGame{ public partial class Form1 : Form { //定义全局变量 Label label; Thread myThread; //构造方法 public Form1() { InitializeComponent(); } //label下落方法 public void _falling() { CheckForIllegalCrossThreadCalls = false; while (this.label.Top <= this.panel1.Height) { this.label.Top += 1; Thread.Sleep(5); } this.label.Dispose(); myThread.Abort(); } //每间隔一定时间发生 private void timer1_Tick(object sender, EventArgs e) { label = new Label(); label.Height = 10; label.Width = 50; label.Left = new Random().Next(9) * 50; switch(new Random().Next(3)+new Random().Next(2)+1){ case 1:label.BackColor = Color.RoyalBlue;break; case 2:label.BackColor = Color.PowderBlue;break; case 3:label.BackColor = Color.BlueViolet;break; default: label.BackColor = Color.MediumVioletRed; break; } panel1.Controls.Add(label); myThread = new Thread(new ThreadStart(_falling)); myThread.Start(); } //start按钮事件 private void startToolStripMenuItem_Click(object sender, EventArgs e) { timer1.Start(); } }}