以下是一个示例程序,用于演示如何在C# WinForm中循环收集数据:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DataCollectionApp
{
public partial class MainForm : Form
{
private List<string> data; // 用于存储采集到的数据
private bool isCollecting; // 用于判断是否正在采集数据
public MainForm()
{
InitializeComponent();
data = new List<string>();
isCollecting = false;
}
private void startButton_Click(object sender, EventArgs e)
{
if (!isCollecting)
{
isCollecting = true;
Task.Factory.StartNew(() => CollectData());
startButton.Enabled = false;
stopButton.Enabled = true;
}
}
private void stopButton_Click(object sender, EventArgs e)
{
isCollecting = false;
startButton.Enabled = true;
stopButton.Enabled = false;
}
private void CollectData()
{
// 采集数据的代码
for (int i = 0; isCollecting && i < 100; i++) // 循环采集100次
{
string newData = GetData();
data.Add(newData);
UpdateUI(newData);
System.Threading.Thread.Sleep(1000); // 等待1秒钟
}
isCollecting = false;
startButton.Enabled = true;
stopButton.Enabled = false;
}
private string GetData()
{
// 获取数据的代码
// 这里简单地返回一个随机数
return new Random().Next(100).ToString();
}
private void UpdateUI(string newData)
{
// 更新UI的代码
Invoke(new Action(() =>
{
dataTextBox.AppendText(newData + Environment.NewLine);
dataTextBox.SelectionStart = dataTextBox.TextLength;
dataTextBox.ScrollToCaret();
}));
}
}
}
在这个示例程序中,有两个按钮:开始采集和停止采集。单击开始采集按钮后,程序将启动一个后台线程来循环采集数据并将其添加到列表中。UpdateUI方法用于将采集到的新数据显示在UI上。当用户单击停止采集按钮时,程序将停止数据采集并禁用开始采集按钮,同时启用停止采集按钮。文章来源:https://www.toymoban.com/news/detail-536320.html
本示例程序仅用于演示,实际数据采集应该根据具体需求进行设计和实现。文章来源地址https://www.toymoban.com/news/detail-536320.html
到了这里,关于c# winform循环数据采集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!