当前位置: 首页 > news >正文

门户网站建站目标网页制作流程图片

门户网站建站目标,网页制作流程图片,wap网站的发展,wordpress侧栏目录 一、关于线程 二、示例 三、生成效果 一、关于线程 在使用多线程前要先引用命名空间System.Threading#xff0c;引用命名空间后就可以在需要的地方方便地创建并使用线程。 创建线程对象的构造方法中使用了ThreadStart()委托#xff0c;当线程开始执行时#xff0c…目录 一、关于线程 二、示例  三、生成效果 一、关于线程 在使用多线程前要先引用命名空间System.Threading引用命名空间后就可以在需要的地方方便地创建并使用线程。 创建线程对象的构造方法中使用了ThreadStart()委托当线程开始执行时将会执行委托中定义的方法。通过IsBackground属性设置线程为后台线程调用线程对象的Start方法启动线程开始执行。CancellationToken方法终止线程。 创建的线程分为前台线程和后台线程通过线程对象的IsBackground属性可以设置线程为前台线程或后台线程。前台线程与后台线程的区别是后台线程不会使托管程序处于运行状态。也就是说如果进程停止所有前台线程那么系统会认为此进程处于非运行状态将会停止所有后台线程并关闭。 适当地使用线程可以增加程序的运行效率使程序运行更加流畅但是线程间的同步问题也显得尤为重要可以使用线程锁或监视器有效地处理线程同步问题。 二、示例  // 线程技术 // 使用随机对象产生一个1100之间的整数单击“开始”时动态生成100个按钮并开始计时; // 单击事件按钮上的数字随机数那么被单击的按钮变为红色并显示字符串“小”; // 单击事件按钮上的数字随机数那么被单击的按钮变为红色并显示字符串“大”; // 单击事件按钮上的数字随机数就会弹出消息框提示已经猜对了数字并显示用时及猜测次数。 namespace _033 {public partial class Form1 : Form{private Button? button1;private Label? label1;private Label? label2;private Label? label3;private Label? label4;Thread? thread_1; //定义线程readonly Random random_num new(); //定义随机数对象int Temp_int_num; //定义变量用于存放存机数public Form1(){InitializeComponent();Load Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // button1// button1 new Button{Location new Point(30, 22),Name button1,Size new Size(75, 23),TabIndex 0,Text 开始,UseVisualStyleBackColor true};button1.Click Button1_Click;// // label1// label1 new Label{AutoSize true,Location new Point(206, 28),Name label1,Size new Size(44, 17),TabIndex 1,Text 计时};// // label2// label2 new Label{AutoSize true,Location new Point(256, 28),Name label2,Size new Size(0, 17),TabIndex 2};// // label3// label3 new Label{AutoSize true,Location new Point(305, 28),Name label3,Size new Size(20, 17),TabIndex 3,Text 秒};// // label4// label4 new Label{AutoSize true,Location new Point(115, 28),Name label4,Size new Size(43, 17),TabIndex 4,Text };// // Form1// AutoScaleDimensions new SizeF(7F, 17F);AutoScaleMode AutoScaleMode.Font;ClientSize new Size(379, 426);Controls.Add(label4);Controls.Add(label3);Controls.Add(label2);Controls.Add(label1);Controls.Add(button1);Name Form1;StartPosition FormStartPosition.CenterScreen;Text 猜数字;FormClosed Form1_FormClosed;}private void Button1_Click(object? sender, EventArgs e){RemoveControl(); //清空所有无用对象int bt_int_x 10; //X坐标初始值为10int bt_int_y 60; //Y坐标初始值为60for (int i 0; i 100; i) //添加100个按钮{Button bt new(){Text (i 1).ToString(), //设置button按钮的文本值Name (i 1).ToString(), //设置button按钮的Name属性Width 35, Height 35, Location new Point(bt_int_x, bt_int_y)//设置button按钮的位置};bt.Click new EventHandler(Bt_Click); //定义button按钮的事件bt_int_x 36; //设置下一个按钮的位置if ((i 1) % 10 0) //每10个按钮就换行{bt_int_x 10; //换行后重新设置X坐标bt_int_y 36; //换行后重新设置Y坐标}Controls.Add(bt); //将button按钮放入窗体控件集合中}thread_1 new Thread(delegate () //新建一条线程使用匿名方法{int P_int_count 0; //初始化计数器while (true) //开始无限循环{P_int_count P_int_count 100000000 ? 0 : P_int_count; //计数器累加Invoke( //将代码交给主线程执行(MethodInvoker)delegate //使用匿名方法{label2!.Text P_int_count.ToString(); //窗体中显示计数});Thread.Sleep(1000); //线程睡眠1秒}}){IsBackground true //设置线程为后台线程};thread_1.Start(); //开始执行线程Temp_int_num random_num.Next(1, 100);//生成随机数label4!.Text 随机数 Temp_int_num.ToString( );button1!.Enabled false; //停用开始按钮}/// summary/// 强行关闭窗体/// /summaryprivate void Form1_FormClosed(object? sender, FormClosedEventArgs e){Environment.Exit(0);}/// summary/// 开始遍历100个按钮/// 清空窗体中动态生成的按钮/// /summaryvoid RemoveControl(){for (int i 0; i 100; i){if (Controls.ContainsKey((i 1).ToString())) //窗体中是否有此按钮{for (int j 0; j Controls.Count; j) //遍历窗体控件集合{if (Controls[j].Name (i 1).ToString())//是否查找到按钮{Controls.RemoveAt(j); //删除指定按钮break;}}}}}/// summary/// 用于查找窗体中Enable属性为False控件的数量/// 用于计算玩家有多少次没有猜中/// /summary/// returns返回没有猜中数量/returnsstring GetCount(){int P_int_temp 0; //初始化计数器foreach (Control c in Controls) //遍历控件集合{if (!c.Enabled) P_int_temp; //计数器累加}return P_int_temp.ToString(); //返回计数器信息}void Bt_Click(object? sender, EventArgs e){Control? P_control sender as Control; //将sender转换为control类型对象if (int.Parse(P_control!.Name) Temp_int_num){P_control.BackColor Color.Red; //设置按钮背景为红色P_control.Enabled false; //停用按钮P_control.Text 大; //更改按钮文本}if (int.Parse(P_control.Name) Temp_int_num){P_control.BackColor Color.Red; //设置按钮背景为红色P_control.Enabled false; //设置按钮停用P_control.Text 小; //更改按钮文本}if (int.Parse(P_control.Name) Temp_int_num){//thread1.Abort();CancellationToken cancellationToken new();CancellationToken token cancellationToken;Thread_Abort(token);MessageBox.Show(string.Format(恭喜你猜对了共猜了{0}次 用时{1}秒,GetCount(), label2!.Text), 恭喜); //显示游戏信息button1!.Enabled true; //启用开始按钮}}/// summary/// 用于代替thread1!.Abort();/// SYSLIB0006不支持 Thread.Abort/// 替代方案我没有深究是否有效仅提供指明的解决方向/// /summarystatic void Thread_Abort(CancellationToken cancellationToken){ // If the CancellationToken is marked as needs to cancel,// this will throw the appropriate exception.cancellationToken.ThrowIfCancellationRequested();}} }三、生成效果
http://www.tj-hxxt.cn/news/134055.html

相关文章:

  • 建设银行企业网银网站过期系统开发平台
  • 做盗版视频网站成本多少钱怎样做酒店网站ppt模板
  • discuz网站模板东莞回收网站设计
  • 合肥建站鲜花网站模版
  • dz论坛怎么做视频网站吗河南网站顾问
  • 做解析会员电影的网站福建seo关键词优化外包
  • 做app还要做网站么桂林北站停车场收费标准
  • 景点网站设计与制作百度搜索引擎优化详解
  • 网站建设好后怎样形成app在什么网站上可以做免费广告
  • 高大上网站建设公司久免费域名注册网站
  • 南宁 网站建设 公司济南卓远网站建设
  • 上海华东民航机场建设公司网站怎么开亚马逊跨境电商店铺
  • 免费源代码网站wordpress+火车头接口
  • 怎么做网站的地图页网络公司名字免费起名大全
  • 搭建网站后的网址开发网页的公司
  • 阿里云服务器安装网站广西三类人员考试网
  • 郑州知名网站建设公司游戏软件开发公司排名
  • 外贸网站 cms株洲市区网站建设公司
  • 珍岛外贸网站建设暴雪手游
  • 服装做外贸的网站建设闲置tp路由自己做网站
  • 高清品牌网站设计建设建设网站外国人可搜到
  • 刺猬猫网站维护徐州做网站的培训机构
  • 如何做网站更新丰台网页设计公司
  • 网站建设贰金手指下拉壹玖杭州网站建设哪个好
  • 网站做优化多少钱木疙瘩h5制作教程
  • 个人网站站长中国空间站vr全景
  • 西平县住房和城乡建设局网站公司内部网站维护
  • 深圳建设局官网站首页可以做网站的公司
  • 大连市城乡建设局网站沧州网络
  • 建设网站基础建设外贸商城网站