ListBox显示最新数据、左移和右移操作

1、程序

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ProgressBar;namespace ListBoxApp
{public partial class Form1 : Form{Timer timer;bool isRun = false;int count = 0;int MAX_COUNT = 20;string filename = "";/// <summary>/// 构造函数/// </summary>public Form1(){InitializeComponent();MoveInitialize();}/// <summary>/// 窗体加载/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Form1_Load(object sender, EventArgs e){timer = new Timer();timer.Interval = 500;timer.Tick += Timer_Tick;timer.Start();}/// <summary>/// 定时处理/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Timer_Tick(object sender, EventArgs e){if (isRun){string str = $"No. {count} item";ListBoxSaveAndAdd(filename,listBox1, str, MAX_COUNT);count++;}}/// <summary>/// 测试开启和停止/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btStart_Click(object sender, EventArgs e){if (btStart.Text.Equals("开始")){btStart.Text = "停止";listBox1.Items.Clear();filename = Path.Combine(Environment.CurrentDirectory, "f"+DateTime.Now.ToString("yyyyMMdd_HHmmssFFF")+".txt");count = 0;isRun = true;}else{btStart.Text = "开始";isRun = false;}}#region 显示(最新数据)和保存/// <summary>/// 数据保存和ListBox添加/// </summary>/// <param name="filename"></param>/// <param name="listBox"></param>/// <param name="text"></param>/// <param name="maxCount"></param>public static void ListBoxSaveAndAdd(string filename, ListBox listBox, string text, int maxCount){FileStreamWriter(filename, text);ListBoxScrollAddCross(listBox, text, maxCount);}/// <summary>/// 文件保存/// </summary>/// <param name="filename"></param>/// <param name="content"></param>public static void FileStreamWriter(string filename, string content){using (StreamWriter sw = new StreamWriter(filename, true)){sw.WriteLine(content);}}/// <summary>/// listBox跨域处理/// </summary>/// <param name="listBox"></param>/// <param name="text"></param>/// <param name="maxCount"></param>public static void ListBoxScrollAddCross(ListBox listBox, string text, int maxCount){if (listBox.InvokeRequired){MethodInvoker mi = delegate (){ListBoxScrollAdd(listBox, text, maxCount);};listBox.Invoke(mi);}else{ListBoxScrollAdd(listBox, text, maxCount);}}/// <summary>/// listBox添加/// </summary>/// <param name="listBox"></param>/// <param name="text"></param>/// <param name="maxCount"></param>public static void ListBoxScrollAdd(ListBox listBox, string text, int maxCount){listBox.Items.Add(text);if (listBox.Items.Count > maxCount){listBox.Items.RemoveAt(0);}listBox.TopIndex = listBox.Items.Count - (int)(listBox.Height / listBox.ItemHeight);}#endregion#region 左移和右移/// <summary>/// 移动初始化/// </summary>private void MoveInitialize(){listBox2.Items.Add("产品设计");listBox2.Items.Add("硬件设计");listBox2.Items.Add("逻辑设计");listBox2.Items.Add("软件设计");}/// <summary>/// 右移/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnAddProject_Click(object sender, EventArgs e){if (listBox2.Items.Count > 0){CurrentMove(listBox2, listBox3);}}/// <summary>/// 左移/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void BtnRemoveProject_Click(object sender, EventArgs e){if (listBox3.Items.Count > 0){CurrentMove(listBox3, listBox2);}     }/// <summary>/// 移动处理/// </summary>/// <param name="source"></param>/// <param name="target"></param>public void CurrentMove(ListBox source,ListBox target){foreach(var selectItem in source.SelectedItems){target.Items.Add((string)selectItem);}List<int> list = new List<int>();foreach(int item in source.SelectedIndices){list.Add(item);}for(int i=list.Count-1; i>=0; i--){source.Items.RemoveAt(list[i]);}}#endregion}
}

2、运行效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/422651.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的二手交易管理系统的设计与实现 (含源码+sql+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的二手交易管理系统1拥有两种角色 管理员&#xff1a;商品管理、订单管理、充值管理、用户管理等用户&#xff1a;发布商品、查看闲置、充值账户、查看所有订单、发布求购信息、修…

Redis Sentinel(哨兵)详解

目录 一&#xff1a;什么是Sentinel&#xff08;哨兵&#xff09; 二&#xff1a;Sentinel有什么用 1.监控 2.故障转移 3通知 4.配置提供 三&#xff1a;Sentinel如何检测master节点宕机 1.主观下线 2.客观下线 四&#xff1a;Sentinel是如何选举出新的master 1.s…

SpringBoot3整合ELK实现日志可视化

SpringBoot整合ELK实现日志可视化 一、环境准备 Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统 ELK中各个服务的作用 Elasticsearch:用于存储收集到的日志信息&#xff1b; Logstash:用于收集日志&#xff0c;SpringBoot应用整合了Logstash以后会把日志发…

golang面试

算法&#xff1a; 1.提取二进制位最右边的 r i & (~i 1) 2.树上两个节点最远距离&#xff0c;先考虑头结点参与不参与。 3.暴力递归改dp。 1.确定暴力递归方式。 2.改记忆化搜索 3.严格表方式&#xff1a; 分析可变参数变化范围&#xff0c;参数数量决定表维度、 …

【文心智能体】通过工作流使用知识库来实现信息查询输出,一键查看旅游相关信息,让出行多一份信心

欢迎来到《小5讲堂》 这是《文心智能体平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 创建灵感基本配置头像名称和简介人物设定角色与目标思考路…

Android10源码刷入Pixel2以及整合GMS

一、ASOP源码下载 具体可以参考我之前发布的文章 二、下载相关驱动包 这一步很关键,关系到编译后的镜像能否刷入后运行 下载链接:Nexus 和 Pixel 设备的驱动程序二进制文件 如下图所示,将两个驱动程序上传到Ubuntu服务器,并进行解压,得到两个脚本: 下载解压后会有两…

MySQL数据的增删改查(一)

目录 新增&#xff08;create&#xff09; 插入单条记录 插入多条记录 查询&#xff08;retrieve&#xff09; 查询所有列 查询特定列 查询字段为表达式 别名 去重 排序 按单列排序 按多列排序 使用表达式或别名排序 排序NULL值 条件查询 比较运算符 逻辑运算…

【阿一网络安全】如何让你的密码更安全?(三) - 散列函数

散列函数 散列函数&#xff08;Hash Function&#xff0c;又称散列算法、哈希函数&#xff09;&#xff0c;是一种从任何一种数据中创建小的数字指纹的方法。 散列值 散列函数&#xff0c;把任意长的消息明文&#xff0c;压缩成摘要&#xff0c;使得数据量变小&#xff0c;将…

k8s 容忍和污点

文章目录 Taint作用在节点上&#xff0c;能够使节点排斥一类特定的Pod&#xff0c;也就是不能“兼容”该节点的污点的Pod。对应的Toleration作用在Pod上&#xff0c;意为容忍&#xff0c;也就是可以兼容某类污点。 给节点增加一个Taint也很简单&#xff0c;直接使用kubectl ta…

【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)

简介 PostgreSQL 是一个功能强大的开源对象关系数据库系统 下载地址 PostgreSQL: Downloads 由于我电脑上安装的是arcgispro3.1所以需要下载对应的postgresql版本 PostgreSQL 12 对应的 PostGIS 版本主要是 3.5.0 或更高版本。 安装 一般设置为postgresql 安装扩展插件 此…

Centos如何配置阿里云的yum仓库作为yum源?

背景 Centos在国内访问官方yum源慢&#xff0c;可以用国内的yum源&#xff0c;本文以阿里云yum源为例说明。 快速命令 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.a…

《深度学习》OpenCV轮廓检测 模版匹配 解析及实现

目录 一、模型匹配 1、什么是模型匹配 2、步骤 1&#xff09;提取模型的特征 2&#xff09;在图像中查找特征点 3&#xff09;进行特征匹配 4&#xff09;模型匹配 3、参数及用法 1、用法 2、参数 1&#xff09;image&#xff1a;待搜索对象 2&#xff09;templ&am…

【2025】基于python的网上商城比价系统、智能商城比价系统、电商比价系统、智能商城比价系统(源码+文档+解答)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

RTR_Chapter_4_中

四元数 四元数可以用于表示旋转和方向&#xff0c;它在很多地方都比欧拉角和矩阵表示更加优秀。任何三维方向都可以表示为一个绕特定轴的简单旋转&#xff0c;给定一个旋转轴和旋转角度&#xff0c;可以直接将其转换为一个四元数&#xff0c;或者是从一个四元数中提取出旋转轴和…

大数据与人工智能:脑科学与人工神经网络ANN

文章目录 大数据与人工智能&#xff1a;脑科学与人工神经网络ANN一、引言ANN简介研究背景与应用领域发展背景应用场景 二、ANN背后的人脑神经网络人脑神经网络的专业描述神经元的结构信号处理 思考和认知过程认知功能的实现 对机器学习算法的启示 三、ANN的研究进展初始阶段&am…

进程间通信-进程池

目录 理解​ 完整代码 完善代码 回收子进程&#xff1a;​ 不回收子进程&#xff1a; 子进程使用重定向优化 理解 #include <iostream> #include <unistd.h> #include <string> #include <vector> #include <sys/types.h>void work(int rfd) {…

Amazing!精准可控新视角视频生成+场景级3D生成!北大港中文腾讯等开源ViewCrafter

论文链接: https://arxiv.org/abs/2409.02048 GitHub链接&#xff1a;https://github.com/Drexubery/ViewCrafter 项目链接: https://drexubery.github.io/ViewCrafter/ Demo链接: https://huggingface.co/spaces/Doubiiu/ViewCrafter 亮点直击 本文提出了一种迭代视图合成策略…

java设计模式(持续更新中)

1 设计模式介绍 设计模式代表了代码的最佳实践&#xff0c;被有经验的开发人员使用。设计模式是很多被反复使用并知晓的&#xff0c;主要是对代码和经验的总结。使用设计模式是为了重用代码&#xff0c;并让代码更容易被人理解&#xff0c;保证代码的可靠性。对接口编程而不是…

双向dfs,多次dfs

前言&#xff1a;这个答案给我们提供了一种多次dfs的思路&#xff0c;记录queue的size&#xff0c;每次只取size个&#xff0c;就刚刚好只处理了上一次的‘ 题目地址 #include<bits/stdc.h> using namespace std;//定义队列节点 struct node {int x,y; }rear,front; //Q[…

JVM 调优篇2 jvm的内存结构以及堆栈参数设置与查看

一 jvm的内存模型 2.1 jvm内存模型概览 2.2 pc计数器 它是一块很小的内存空间&#xff0c;集合可以忽略不记&#xff0c;也是运行速度最快的存储区域。不会随着程序的运行需要更大的空间。 在jvm规范中&#xff0c;每个线程都有它自己的程序计数器&#xff0c;是线程私有的&…