using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace 随机点名
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
}
Thread thread = null;
string[] names;
private void Form1_Load(object sender, EventArgs e)
{
try
{
string strNames = File.ReadAllText("names.txt",Encoding.Default);
names = strNames.Split('|');
}
catch
{
label1.Text = "未能找到名单文件";
}
}
private void button1_Click(object sender, EventArgs e)
{
if (names != null && names.Length > 0&&Thread.CurrentThread.IsAlive)
{
thread = new Thread(() =>
{
Random random = new Random();
lock (this)
{
while (Thread.CurrentThread.IsAlive)
{
int num = random.Next(0, names.Length);
lblName.Text = names[num];
Thread.Sleep(40);
}
}
});
thread.IsBackground = true;
thread.Start();
}
button1.Enabled = false;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (thread != null)
{
thread.Abort();
}
button1.Enabled = true;
timer1.Stop();
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace 随机点名
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
}
Thread thread = null;
string[] names;
private void Form1_Load(object sender, EventArgs e)
{
try
{
string strNames = File.ReadAllText("names.txt",Encoding.Default);
names = strNames.Split('|');
}
catch
{
label1.Text = "未能找到名单文件";
}
}
private void button1_Click(object sender, EventArgs e)
{
if (names != null && names.Length > 0&&Thread.CurrentThread.IsAlive)
{
thread = new Thread(() =>
{
Random random = new Random();
lock (this)
{
while (Thread.CurrentThread.IsAlive)
{
int num = random.Next(0, names.Length);
lblName.Text = names[num];
Thread.Sleep(40);
}
}
});
thread.IsBackground = true;
thread.Start();
}
button1.Enabled = false;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (thread != null)
{
thread.Abort();
}
button1.Enabled = true;
timer1.Stop();
}
}
}
界面如下: