[C#] 纯文本查看 复制代码
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;
using CsharpHttpHelper;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//创建一个委托,是为访问TextBox控件服务的。
public delegate void UpdateTxt(string msg);
//定义一个委托变量
public UpdateTxt updateTxt;
int jiangetime = 1;
bool isstart = true;
//修改TextBox值的方法。
public void UpdateTxtMethod(string msg)
{
richTextBox1.AppendText(msg + "\r\n");
richTextBox1.ScrollToCaret();
}
//此为在非创建线程中的调用方法,其实是使用TextBox的Invoke方法。
public void ThreadMethodTxt(int n)
{
this.BeginInvoke(updateTxt, "线程开始执行,每" + n + "秒执行一次");
int c = 0;
do
{
//---------------此处为你的刷票代码-------------//
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = "http://www.baidu.com",//URL 必需项
};
HttpResult result = http.GetHtml(item);
string html = result.Html;
//---------------此处为你的刷票代码-------------//
c++;
this.BeginInvoke(updateTxt, string.Format("第{0}次执行'{1}'", c.ToString(), html));
Thread.Sleep(n);
if (isstart)
{
break;
}
} while (true);
this.BeginInvoke(updateTxt, "线程结束" + c.ToString());
}
private void btnEnter_Click(object sender, EventArgs e)
{
if (isstart)
{
isstart = false;
btnEnter.Text = "暂停";
jiangetime = Convert.ToInt32(txttime.Text.Trim()) * 1000;
Thread objThread = new Thread(new ThreadStart(delegate
{
ThreadMethodTxt(jiangetime);
}));
objThread.Start();
}
else
{
isstart = true;
btnEnter.Text = "开始";
}
}
private void Form1_Load(object sender, EventArgs e)
{
//实例化委托
updateTxt = new UpdateTxt(UpdateTxtMethod);
}
}
}