职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1594|回复: 0

使用Visual C# .NET 创建线程

[复制链接]
joe 发表于 2006-11-30 00:23 | 显示全部楼层 |阅读模式
使用线程创建 Visual C# .NET 应用程序  

  1.启动 Microsoft Visual Studio .NET。

  2.新建名为 ThreadWinApp 的 Visual C# .NET Windows 应用程序项目。

  3.向窗体添加一个“Button”控件。默认情况下,该按钮名为“Button1”。

  4.向窗体添加一个“ProgressBar”组件。默认情况下,该进度栏名为“ProgressBar1”。

  5.右键单击该窗体,然后单击“查看代码”。

  6.将以下语句添加到文件的开头:

  using System.Threading;   

  7.为“Button1”添加以下“Click”事件处理程序:private void button1_Click(object sender, System.EventArgs e)   

  {
   MessageBox.Show(\"This is the main thread\");
  } 

  8.将下面的变量添加到 Form1 类:

  private Thread trd;   

  9.将下面的方法添加到 Form1 类:private void ThreadTask()   

  {
   int stp;
   int newval;
   Random rnd=new Random();
   while(true)
   {
   stp=this.progressBar1.Step*rnd.Next(-1,2);
   newval = this.progressBar1.Value + stp;
   if (newval > this.progressBar1.Maximum)
   newval = this.progressBar1.Maximum;
   else if (newval < this.progressBar1.Minimum)
   newval = this.progressBar1.Minimum;
   this.progressBar1.Value = newval;
   Thread.Sleep(100);
   }
  }  

  注意:这是创建线程的基础代码。此段代码是一个无限循环,它随机增加或减小“ProgressBar1”中的值,然后等待 100 毫秒后再继续。  

  10.为“Form1”添加以下 Load 事件处理程序。此段代码将新建一个新线程,使该线程成为后台线程,然后启动该线程。  

  private void Form1_Load(object sender, System.EventArgs e)
  {
   Thread trd = new Thread(new ThreadStart(this.ThreadTask));
   trd.IsBackground = true;
   trd.Start();
  }

  确认它可以使用   

  1.生成并运行该应用程序。请注意,“ProgressBar1”中的值会随机更改。这是新线程在起作用。

  2.要演示主线程独立于更改“ProgressBar1”值的线程,请单击窗体上的按钮。会出现一个对话框,其中显示下面的错误信息:

  This is the main thread  

  Wait for input.请注意,“ProgressBar1”中的值会继续更改。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-11 18:01 , Processed in 0.132159 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表