C# 鼠标点击ToolStripStatuslabel 在线修改Text属性并存储加载显示Text属性

在实际项目中为方便了解视觉软件的使用性,可能需要添加一些小而稍微实用的功能:一个StipStatus控件上的Label按钮属性Text需要修改并保存,软件重启后能够自动加载修改后的属性名。

定义变量

public static string controlsText = System.Windows.Forms.Application.StartupPath + "\\相关属性\\";
//子窗体窗口属性名修改private string FilePathText = VProClass.controlsText + "窗口属性名.txt";

主窗体中的代码

 #region 修改子窗体窗口属性 名private void SaveStatusLabelsText(string text, int toolRow){// 读取文件的所有行string[] rowLines = System.IO.File.ReadAllLines(FilePathText);// 创建一个新的字符串列表,用于存储更新后的内容List<string> newLines = new List<string>();try{// 插入内容到指定位置 if (rowLines.Length >= 0)//需要考虑文本为空的情况{using (StreamWriter writer = System.IO.File.AppendText(FilePathText)){if (toollabelTag == 1)writer.WriteLine(text);if (toollabelTag == 2)writer.WriteLine(text);if (toollabelTag == 3)writer.WriteLine(text);if (toollabelTag == 4)writer.WriteLine(text);if (toollabelTag == 5)writer.WriteLine(text);if (toollabelTag == 6)writer.WriteLine(text);}}// 插入内容到指定位置 if (rowLines.Length == Convert.ToInt32(ValuePropagation.count)){for (int g = 0; g < rowLines.Length; g++){if (g == toolRow - 1){rowLines[g] = text;}//newLines.Add(rowLines[g]);}// 将更新后的内容写回到文件中System.IO.File.WriteAllLines(FilePathText, rowLines);}}catch (Exception ex){MessageBox.Show($"保存文本时出错:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}private void LoadStatusLabelsText(){if (System.IO.File.Exists(FilePathText)){try{using (StreamReader reader = new StreamReader(FilePathText)){// 读取文件的所有行到一个字符串数组中string[] lines = System.IO.File.ReadAllLines(FilePathText);for (int k = 0; k < lines.Length; k++){if (k == 0)displayControls[0].相机编号1.Text = reader.ReadLine();if (k == 1)displayControls[1].相机编号2.Text = reader.ReadLine();if (k == 2)displayControls[2].相机编号3.Text = reader.ReadLine();if (k == 3)displayControls[3].相机编号4.Text = reader.ReadLine();if (k == 4)displayControls[4].相机编号5.Text = reader.ReadLine();if (k == 5)displayControls[5].相机编号6.Text = reader.ReadLine();}}}catch (Exception ex){MessageBox.Show($"加载文本时出错:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}}public void clearLabelText(int toolTag){if (System.IO.File.Exists(FilePathText)){try{using (StreamReader reader = new StreamReader(FilePathText)){// 读取文件的所有行到一个字符串数组中List<string> linesRow = new List<string>(System.IO.File.ReadAllLines(FilePathText));if (toolTag == 1 && toolTag < linesRow.Count){string specifiedLineRow = linesRow[toolTag - 1];if (specifiedLineRow != null){linesRow.RemoveAt(toolTag - 1);//删除指定行}}if (toolTag == 2 && toolTag < linesRow.Count){string specifiedLineRow = linesRow[toolTag - 1];if (specifiedLineRow != null){linesRow.RemoveAt(toolTag - 1);//删除指定行}}if (toolTag == 3 && toolTag < linesRow.Count){string specifiedLineRow = linesRow[toolTag - 1];if (specifiedLineRow != null){linesRow.RemoveAt(toolTag - 1);//删除指定行}}if (toolTag == 4 && toolTag < linesRow.Count){string specifiedLineRow = linesRow[toolTag - 1];if (specifiedLineRow != null){linesRow.RemoveAt(toolTag - 1);//删除指定行}}if (toolTag == 5 && toolTag < linesRow.Count){string specifiedLineRow = linesRow[toolTag - 1];if (specifiedLineRow != null){linesRow.RemoveAt(toolTag - 1);//删除指定行}}if (toolTag == 6 && toolTag < linesRow.Count){string specifiedLineRow = linesRow[toolTag - 1];if (specifiedLineRow != null){linesRow.RemoveAt(toolTag - 1);//删除指定行}}}}catch (Exception ex){MessageBox.Show($"加载文本时出错:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}}private void 相机编号1_Click(object sender, EventArgs e){//输入Text属性名var label = sender as ToolStripStatusLabel;toollabelTag = 1;if (label != null){// 弹出输入框让用户输入新的文本 input = Microsoft.VisualBasic.Interaction.InputBox("请输入新的文本:", "修改子窗体名", label.Text);if (!string.IsNullOrEmpty(input)){label.Text = input;clearLabelText(toollabelTag);// 保存修改后的文本 SaveStatusLabelsText(label.Text, toollabelTag);}}}
#endregion

主窗体Load事件中添加

//修改子窗体名displayControls[0].相机编号1.Click += 相机编号1_Click;// 加载保存的文本 LoadStatusLabelsText();

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

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

相关文章

Elasticsearch:同义词在 RAG 中重要吗?

作者&#xff1a;来自 Elastic Jeffrey Rengifo 及 Toms Mura 探索 RAG 应用程序中 Elasticsearch 同义词的功能。 同义词允许我们使用具有相同含义的不同词语在文档中搜索&#xff0c;以确保用户无论使用什么确切的词语都能找到他们所寻找的内容。你可能会认为&#xff0c;由于…

算法与数据结构(最小栈)

题目 思路 为了返回栈中的最小元素&#xff0c;我们需要额外维护一个辅助栈 min_stack&#xff0c;它的作用是记录当前栈中的最小值。 min_stack的作用&#xff1a; min_stack的栈顶元素始终是当前栈 st 中的最小值。 每当st中压入一个新元素时&#xff0c;如果这个元素小于等…

midjourney 一 prompt 提示词

midjourney 不需要自然语言的描述&#xff0c;它只需要关键词即可。 一个完整的Midjourney prompt通常包括三个部分 图片提示&#xff08;Image Prompts&#xff09;、文本提示&#xff08;Text Prompt&#xff09;和参数&#xff08;Parameters&#xff09;。 1、图片提示(…

英码科技基于昇腾算力实现DeepSeek离线部署

DeepSeek-R1 模型以其创新架构和高效能技术迅速成为行业焦点。如果能够在边缘进行离线部署&#xff0c;不仅能发挥DeepSeek大模型的效果&#xff0c;还能确保数据处理的安全性和可控性。 英码科技作为AI算力产品和AI应用解决方案服务商&#xff0c;积极响应市场需求&#xff0…

Android13-包安装器PackageInstaller-之apk安装流程

目的 我们最终是为了搞明白安装的整个流程通过安卓系统自带的包安装器来了解PMS 安装流程实现需求定制&#xff1a;静默安装-安装界面定制-安装拦截验证。【核心目的】 安装流程和PMS了解不用多说了; 安装定制相关&#xff1a; 如 手机上安装时候弹出锁屏界面需要输入密码;安…

新型基于Go语言的恶意软件利用Telegram作为C2通信渠道

研究人员发现了一种新型后门恶意软件&#xff0c;使用Go语言编写&#xff0c;并利用Telegram作为其命令与控制&#xff08;C2&#xff09;通信渠道。尽管该恶意软件似乎仍处于开发阶段&#xff0c;但它已经具备完整的功能&#xff0c;能够执行多种恶意活动。这种创新的C2通信方…

5分钟了解! 探索 AnythingLLM,借助开源 AI 打造私有化智能知识库,熟悉向量数据库

本文是系列文章&#xff0c;在前面提到安装Ollama和AnythingLLM的教程&#xff0c;本文会着重解决本地文档向量化的过程&#xff0c;同时本地应用的管理。 图1. 上传本地文档进行向量化处理 • 构建向量数据库特别慢&#xff1a;支持的文档格式很多&#xff0c;但在我的电脑32…

电商小程序(源码+文档+部署+讲解)

引言 随着移动互联网的快速发展&#xff0c;电商小程序成为连接消费者与商家的重要桥梁。电商小程序通过数字化手段&#xff0c;为消费者提供了一个便捷、高效的购物平台&#xff0c;从而提升购物体验和满意度。 系统概述 电商小程序采用前后端分离的架构设计&#xff0c;服…

基于SpringBoot的“高考志愿智能推荐系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“高考志愿智能推荐系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统首页界面 系统注册页…

合并多次commit记录

合并多次commit记录 1. 首先先提交多次记录2. 某个版本之前的commit记录合并 1. 首先先提交多次记录 在log中可以看到有多次commit 记录 然后拉取最新代码 (base) ➜ gaolijie git:(master) git pull --rebase origin masterFrom https://gitee.com/Blue_Pepsi_Cola/gaoliji…

哈希表(C语言版)

文章目录 哈希表原理实现(无自动扩容功能)代码运行结果 分析应用 哈希表 如何统计一段文本中&#xff0c;小写字母出现的次数? 显然&#xff0c;我们可以用数组 int table[26] 来存储每个小写字母出现的次数&#xff0c;而且这样处理&#xff0c;效率奇高。假如我们想知道字…

uniapp商城之首页模块

文章目录 前言一、自定义导航栏1.静态结构2.修改页面配置3.组件安全区适配二、通用轮播组件1. 静态结构组件2.自动导入全局组件3.首页轮播图数据获取三、首页分类1.静态结构2.首页获取分类数据并渲染四、热门推荐1.静态结构2.首页获取推荐数据并渲染3.首页跳转详细推荐页五、猜…

CNAPPgoat:一款针对云环境的安全实践靶场

关于CNAPPgoat CNAPPgoat是一款针对云环境的安全实践靶场&#xff0c;该工具旨在帮助广大研究人员在云环境中模块化地提供故意留下安全缺陷的设计组件&#xff0c;专为防御者和渗透测试人员提供练习场地而设计。 CNAPPgoat的主要功能是跨多个云服务提供商部署故意留下安全缺陷…

【学习资源】时间序列数据分析方法(2)-mWDN和AutoEncoder

接着上次的【学习资源】时间序列数据分析方法&#xff08;1&#xff09;-CSDN博客&#xff0c;本次介绍mWDN和AutoEncoder 解决时序数据分类的方法。介绍模型原理、应用场景和参考代码。也从模型性能、训练效率、模型复杂度、计算复杂度、可解释性、适应性和泛化能力、健壮性、…

【C++】stack 和 queue 的适配器模式与实现

> &#x1f343; 本系列为初阶C的内容&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:[小编的个人主页])小编的个人主页 > &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 > ✌️ &#x1f91e; &#x1…

Chrome多开终极形态解锁!「窗口管理工具+IP隔离插件

Web3项目多开&#xff0c;继ads指纹浏览器钱包被盗后&#xff0c;更多人采用原生chrome浏览器&#xff0c;当然对于新手&#xff0c;指纹浏览器每月成本也是一笔不小开支&#xff0c;今天逛Github发现了这样一个解决方案&#xff0c;作者开发了窗口管理工具IP隔离插件&#xff…

从零开始部署DeepSeek:基于Ollama+Flask的本地化AI对话系统

从零开始部署DeepSeek&#xff1a;基于OllamaFlask的本地化AI对话系统 一、部署背景与工具选型 在AI大模型遍地开花的2025年&#xff0c;DeepSeek R1凭借其出色的推理能力和开源特性成为开发者首选。本文将以零基础视角&#xff0c;通过以下工具链实现本地化部署&#xff1a; …

python旅游推荐系统+爬虫+可视化(协同过滤算法)

✅️基于用户的协同过滤算法 ✅️有后台管理 ✅️2w多数据集 这个旅游数据分析推荐系统采用了Python语言、Django框架、MySQL数据库、requests库进行网络爬虫开发、机器学习中的协同过滤算法、ECharts数据可视化技术&#xff0c;以实现从网站抓取旅游数据、个性化推荐和直观展…

以 Serverless 低成本的⽅式 快速在亚马逊云科技上部署 DeepSeek

2025年春节&#xff0c;最令人瞩目的无疑是DeepSeek的惊艳亮相&#xff0c;它以颠覆性的创新迅速席卷全球&#xff0c;成为街谈巷议的热点。无论是在地铁车厢里&#xff0c;还是公司茶水间&#xff0c;DeepSeek都成了人们津津乐道的话题。社交平台上&#xff0c;网友们争相分享…

win10 系统 自定义Ollama安装路径 及模型下载位置

win10 系统 自定义Ollama安装路径 及模型下载位置 由于Ollama的exe安装软件双击安装的时候默认是在C盘&#xff0c;以及后续的模型数据下载也在C盘&#xff0c;导致会占用C盘空间&#xff0c;所以这里单独写了一个自定义安装Ollama安装目录的教程。 Ollama官网地址&#xff1…