//单线程
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Stockes
{
public partial class DeletgateThread : Form
{
public DeletgateThread()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;//允许跨线程调用
}
public delegate void writeTxt(char chr);//定义委托
public writeTxt writetxt;//声明委托
public void write(string str, writeTxt writes)//使用委托
{
for (int i = 0; i < str.Length; i++)
{
writes(str[i]);
DateTime now = DateTime.Now;
while (now.AddSeconds(1) > DateTime.Now) { }
}
}
private void text1(char chr)
{
textBox1.AppendText(chr.ToString());
}
public void text2(char chr)
{
textBox2.AppendText(chr.ToString());
}
private void stratWrite()
{
if (checkBox1.Checked)
{
textBox1.Clear();
groupBox4.Text = "正在运行。。";
groupBox2.Refresh();
writetxt = new writeTxt(text1);
write(textBox3.Text.Trim(),writetxt);
}
if(checkBox2.Checked)
{
textBox2.Clear();
groupBox5.Text = "正在运行。。";
groupBox3.Refresh();
writetxt = new writeTxt(text2);
write(textBox3.Text.Trim(),writetxt);
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread tr = new Thread(new ThreadStart(stratWrite));//创建线程
tr.Start();//启动线程
}
}
}
//多线程 并发任务
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Stockes
{
public partial class DeletgateThread : Form
{
public DeletgateThread()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;//允许跨线程调用
}
public delegate void writeTxt(char chr);//定义委托
public writeTxt writetxt;//声明委托
public void write(string str, writeTxt writes)//使用委托
{
for (int i = 0; i < str.Length; i++)
{
writes(str[i]);
DateTime now = DateTime.Now;
while (now.AddSeconds(1) > DateTime.Now) { }
}
}
private void text1(char chr)
{
textBox1.AppendText(chr.ToString());
}
public void text2(char chr)
{
textBox2.AppendText(chr.ToString());
}
private void stratWrite()
{
if (checkBox1.Checked)
{
textBox1.Clear();
textBox1.Refresh();
groupBox4.Text = "正在运行。。";
groupBox2.Refresh();
writetxt = new writeTxt(text1);
write(textBox3.Text.Trim(),writetxt);
}
}
private void stratwrite1()
{
if (checkBox2.Checked)
{
textBox2.Clear();
textBox2.Refresh();
groupBox5.Text = "正在运行。。";
groupBox3.Refresh();
writetxt = new writeTxt(text2);
write(textBox3.Text.Trim(), writetxt);
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread tr = new Thread(new ThreadStart(stratWrite));//创建线程
tr.Start();//启动线程
Thread tr1 = new Thread(new ThreadStart(stratwrite1));//创建第二个线程
tr1.Start();//启动线程
}
}
}