c#上位机开发——多线程+进度条的使用(代码片段)

Mculover666 Mculover666     2023-03-09     204

关键词:

1. 界面设计

2. 使用多线程修改进度条

引入多线程类库命名空间:

using System.Threading;

将变量添加到Form1类:

private Thread th;

将方法添加到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);
     
 

在按键回调函数中添加创建线程的代码(设置为后台线程,随程序一起关闭):

private void button1_Click(object sender, EventArgs e)
 
     if (button1.Text == "开始")
     
         button1.Text = "停止";
         th = new Thread(new ThreadStart(ThreadTask));
         th.IsBackground = true;
         th.Start();
     
     else
     
         th.Abort();
         button1.Text = "开始";
     
 

3. 效果

c#上位机开发(代码片段)

  上一篇大致了解了一下单片机实际项目开发中上位机开发部分的内容已经VS下载与安装,按照编程惯例,接下来就是“Hello,World!”1、新建C#项目工程   首先选择新建Windows窗体应用(.NETFramework),然后选择项目保存位置... 查看详情

c#上位机开发(十七)——基于nuget安装并使用包(visualstudio)(代码片段)

一、NuGet微软官方文档:https://docs.microsoft.com/zh-cn/nuget/。NuGet是适用于.NET的包管理器。它使开发人员能够创建、共享和使用有用的.NET库。NuGet客户端工具可生成这些库并将其作为“包”。二、添加Newtonsoft.JsonNuget包1.创建项目... 查看详情

c#上位机开发——表格控件的使用(代码片段)

一、表格控件的基本使用方法1.添加控件添加一个DataGridView控件:为了方便使用,将该控件铺满整个窗口(Dock属性设为fill):2.设置列数、列名添加初始化函数:privatevoidInitGridView()//设置列dataGridView1.ColumnC... 查看详情

c#上位机开发——表格控件的使用(代码片段)

一、表格控件的基本使用方法1.添加控件添加一个DataGridView控件:为了方便使用,将该控件铺满整个窗口(Dock属性设为fill):2.设置列数、列名添加初始化函数:privatevoidInitGridView()//设置列dataGridView1.ColumnC... 查看详情

c#上位机开发(十四)——c#中通过dll库调用外部c/c++函数(代码片段)

一、生成dll库方法一:使用mingw中的gcc生成dll动态链接库。编译时带上参数:gcc-olibxx.dll-fPIC-sharedxx.c如果是64位gcc,还需要带上参数-m32或m64指定平台。方法二:参考下面文章第一节。二、C#调用dll库参考文章第二节... 查看详情

c#编写上位机使用udp给单片机发送json格式数据(代码片段)

C#编写上位机使用UDP给单片机发送Json格式数据项目需求编程环境使用的技术UDPJSONJSON介绍JSON语法规则C#例程关键程序页面设计后续项目需求很多时候,我们想要通过上位机给我们的单片机下发命令,是我们能够控制单片机... 查看详情

(68)c#里怎么样提供一个有窗口显示进度条的拷贝目录的功能(代码片段)

...么样提供一个有窗口显示进度条的拷贝目录的功能在C#里开发,常常会遇到拷贝大目录的文件,比如很多LOG日志,运行时间久了,需要把它们备份起来,那么就需要拷贝这些文件,这时候就会比较久,如果不显示一个提示窗口,... 查看详情

[c#]多线程总结(结合进度条)(代码片段)

线程生命周期未启动状态:当线程实例被创建但Start方法未被调用时的状况。就绪状态:当线程准备好运行并等待CPU周期时的状况。不可运行状态:已经调用Sleep方法已经调用Wait方法通过I/O操作阻塞死亡状态:当线程已完成执行... 查看详情

c#上位机开发——右键菜单的使用(代码片段)

一、菜单控件的基本使用1.ListBox放置一个ListBox,用于右键菜单操作,并默认添加5个数据项:2.添加菜单控件添加右键菜单控件:3.为每个菜单项添加名称点击右键菜单控制中的【添加】菜单项,然后在属性中... 查看详情

c#上位机开发——右键菜单的使用(代码片段)

一、菜单控件的基本使用1.ListBox放置一个ListBox,用于右键菜单操作,并默认添加5个数据项:2.添加菜单控件添加右键菜单控件:3.为每个菜单项添加名称点击右键菜单控制中的【添加】菜单项,然后在属性中... 查看详情

带有 Swing 进度条的多线程

】带有Swing进度条的多线程【英文标题】:MultithreadingwithSwingprogressbar【发布时间】:2015-05-2822:52:31【问题描述】:在执行RMI连接期间,我想不出如何让进度条响应,所以我决定向您寻求帮助。代码如下:ThreadperformLogin=newThread(newR... 查看详情

c#上位机开发

我的专业是电科,以后想从事上位机编程的工作,我想以后工作就是以下四个方向的结合:1.通讯:上位机和下位机的通讯,通过usb、网口,实现上位机向下位机发送数据;2.界面:上位机的设计离不开界面,3.数据处理:我对数... 查看详情

c#如何根据文件数量控制进度条

...于进度条的解决方案很多,我暂且假定你在做Winform程序开发。如果你使用的StatusBar中的进度条的话,你可以不考虑多线程更新UI的问题,因为它本身已经在内部实现了外部线程更新UI控件的逻辑。但是如果你使用普通的Progressbar... 查看详情

c#多线程

/***********************************************************************C#多线程*说明:*在上位机的编码中多线程是很常用的方式,网络编程中更是常用。**2016-12-9深圳南山平山村曾剑锋******************************************************************** 查看详情

c#编写上位机驱动运动控制板卡(代码片段)

C#编写上位机驱动运动控制板卡项目概述控制原理功能实现上位机界面通讯连接模块断开连接模块刷新输入模块控制输出模块单轴控制模块刷新界面轴1+点动(位移伺服模式)轴2-点动(位移伺服模式)缓停急停... 查看详情

活动到片段方法调用带有进度条的线程(代码片段)

我正在使用此代码,一切正常,但进度条没有显示。我想在方法实现期间阻止我的ui并想显示进度条。我想获得像progressDialog这样的行为。这是我的方法publicvoideffct(inteffectNo)finalintfinalEffectNO=effectNo;getWindow().setFlags(WindowManager.LayoutP... 查看详情

c#上位机开发(十五)——计算字符串哈希值和文件哈希值(代码片段)

一、C#计算哈希值方法1.引用类库usingSystem.Security.Cryptography;2.计算哈希值//Computehashbasedonsourcedata.tmpHash=newMD5CryptoServiceProvider().ComputeHash(tmpSource);二、计算字符串哈希(1)声明用于保存源数据的字符串变量,以及两个... 查看详情

c#控制台console进度条(代码片段)

1说明笔者大多数的开发在Linux下,多处用到进度条的场景,但又无需用到图形化界面,所以就想着弄个console下的进度条显示。2步骤清行显示//清行处理操作intcurrentLineCursor=Console.CursorTop;//记录当前光标位置Console.SetCursorPosition(0,Co... 查看详情