文章目录

  • 9 复选列表框CheckedListBox
  • 10. 列表框ListBox
    • 10.1 实例:买菜
    • 10.2 实例:购菜 应用二

  • WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。

  • .NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。

  • 本专栏内容按照标题序号逐渐深入的,如有不懂的基础问题,可看前面教程

9 复选列表框CheckedListBox

复选列表框显示的效果与复选框类似,但在选择多个选项时操作比一般的复选框更方便。

目标:使用复选列表框完成选购水果的操作。

添加 CheckedListBox ;
在属性items中添加 复选列表框的内容;
在这里插入图片描述

在属性items中添加 复选列表框的内容,按确认
在这里插入图片描述

CheckedListBox中就添加了复选列表框
在这里插入图片描述在button中添加函数

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormTest
{public partial class Form1 : Form{public Form1()// 修改窗体初始化函数{InitializeComponent();}private void button1_Click(object sender, EventArgs e){string msg = "";for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++){msg = msg + " " + checkedListBox1.CheckedItems[i].ToString();}if (msg != ""){MessageBox.Show("您购买的商品有:" + msg, "提示");}else{MessageBox.Show("您没有选购商品!", "提示");}}}
}

运行测试
在这里插入图片描述

10. 列表框ListBox

列表框控件中有一些属性与前面介绍的控件不同,如下表所示:

属性名作用
MultiColumn获取或设置列表框是否支持多列,如果设置为 True,则表示支持多列; 如果设置为 False,则表示不支持多列,默认为 False
Items获取或设置列表框控件中的值
SelectedItems获取列表框中所有选中项的集合
SelectedItem获取列表框中当前选中的项
SelectedIndex获取列表框中当前选中项的索引,索引从 0 开始
SelectionMode获取或设置列表框中选择的模式,当值为 One 时,代表只能选中一项, 当值为 MultiSimple 时,代表能选择多项, 当值为 None 时,代表不能选 择,当值为 MultiExtended 时,代表能选择多项,但要在按下 Shift 键后 再选择列表框中的项

列表框还提供了一些方法来操作列表框中的选项,由于列表框中的选项是一个集合形式的,列表项的操作都是用 Items 属性进行的

10.1 实例:买菜

使用列表框列出所需的商品。

注: ListBox实现多选需要设置窗体的 SelectionMode 属性MultiSimple

添加 ListBox ;
在这里插入图片描述

在属性items中添加 复选列表框的内容;

青菜
黄瓜
南瓜
豌豆
辣椒
茄子

在这里插入图片描述
输入确认后
在这里插入图片描述
在button 中添加代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormTest
{public partial class Form1 : Form{public Form1()// 修改窗体初始化函数{InitializeComponent();}private void button1_Click(object sender, EventArgs e){string msg = "";for (int i = 0; i < listBox1.SelectedItems.Count; i++){msg = msg + " " + listBox1.SelectedItems[i].ToString();}if (msg != ""){MessageBox.Show("您购买的商品有:" + msg, "提示");}else{MessageBox.Show("您没有选购商品!", "提示");}}}
}

在这里插入图片描述

注: ListBox实现多选需要设置窗体的 SelectionMode 属性MultiSimple

默认值one

在这里插入图片描述

在这里插入图片描述

10.2 实例:购菜 应用二

  • 在上述实例的基础上添加两个按钮,一个负责向列表框中添加菜品,一个负责删除选中的列表项。

上述实例的基础上添加 1个 label,1个TextBox,2个Button
在这里插入图片描述
修改属性:
Button2属性中Name:add,Text:添加
Button3属性中Name:Del,Text:删除

在这里插入图片描述
编辑代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormTest
{public partial class Form1 : Form{public Form1()// 修改窗体初始化函数{InitializeComponent();}private void button1_Click(object sender, EventArgs e)//下单{string msg = "";for (int i = 0; i < listBox1.SelectedItems.Count; i++){msg = msg + " " + listBox1.SelectedItems[i].ToString();}if (msg != ""){MessageBox.Show("您选择的商品是:" + msg, "提示");}else{MessageBox.Show("您没有选择商品", "提示");}}private void add_Click(object sender, EventArgs e)//添加{// 当文本框中的值不为空时将其添加到列表框中if (textBox1.Text != ""){listBox1.Items.Add(textBox1.Text);}else{MessageBox.Show("请添加商品!");}}private void Del_Click(object sender, EventArgs e)//删除{//由于列表框控件中允许多选所以需要循环删除所有已选项int count = listBox1.SelectedItems.Count; // 获取listBox内被选中的元素数量List<string> itemValues = new List<string>(); // 定义一个字符串从列表if (count != 0){for (int i = 0; i < count; i++){itemValues.Add(listBox1.SelectedItems[i].ToString());}foreach (string item in itemValues){listBox1.Items.Remove(item);}}else{MessageBox.Show("请选择需要删除的商品!");}}}
}

运行测试

删除商品 辣椒
在这里插入图片描述

添加商品 鸡蛋
在这里插入图片描述

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

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

相关文章

新注册企业信息查询“数据大集网”:驱动企业增长的源头活水

商贸繁荣的齐鲁大地上&#xff0c;“赶大集”曾是千年传承的民间智慧。而今天&#xff0c;一场以新注册企业信息为核心的“数据大集”正悄然重塑商业生态——数据大集网&#xff0c;以“聚天下好数&#xff0c;促万企互联”为使命&#xff0c;将分散的企业信息转化为精准商机&a…

项目目标如何拆解,才能提高执行效率和效果

项目目标要有效拆解以提高执行效率和效果&#xff0c;需要遵循以下关键步骤&#xff1a;明确整体目标、划分阶段性目标和里程碑、具体化任务细分并设定优先级、分配明确的责任人和时间节点、持续跟踪与反馈调整。其中&#xff0c;划分阶段性目标和里程碑尤为重要&#xff0c;通…

spring-ai-alibaba动态 Prompt 最佳实践

Spring AI Alibaba 使用 Nacos 的配置中心能力来动态管理 AI 应用的 Prompt。以此来实现动态更新 Prompt 的功能。 环境准备 Nacos: 具备配置中心能力的 Nacos&#xff0c;本例中使用 Nacos 3.0.2。Nacos 2.X 亦可&#xff0c; spring-ai版本1.0.0 &#xff0c;spring-ai-al…

基于词频统计、关键词提取、情感分析与AI大模型自动生成系统的设计与实现

文章目录有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主一、研究背景与项目意义二、项目目标与研究内容三、系统架构与功能模块1. AI对话生成模块2. 分词与关键词提取模块3. 情感分析模块4. 行为预测模块5. 系统管理模块6. 可视化展示模块四、技术…

JVM工具

首先&#xff0c;JDK 自带了很多监控工具&#xff0c;都位于 JDK 的 bin 目录下&#xff0c;其中最常用的是 jconsole 和 jvisualvm 这两款视图监控工具。 一、jps(Java Process Status) 用于查看有权访问的虚拟机的进程&#xff0c;并显示他们的进程号 -v&#xff1a;列出虚拟…

VisionPro系列讲解 - 03 Simulator 模拟器使用

一、VisionOS Simulator 简介 VisionOS Simulator 模拟器是专为 VisionOS 操作系统开发的调试和测试工具。它允许开发者在没有实际硬件设备的情况下&#xff0c;在计算机上模拟 VisionOS 环境&#xff0c;进行应用的开发、调试和优化。该模拟器帮助开发者快速验证应用的功能和界…

huggingface是什么?2025-07-30

huggingface被我看做是ai模型的试用空间 体验了一下image edit的功能&#xff0c;去除背景的功能不错 models 模型库 dataset 目前对我来说没用 spaces huggingface的spaces是什么&#xff1f; 演示空间吧。 令人震惊的背景移除能力H200是什么&#xff1f;

mysql索引下推和索引失效

索引下推&#xff1a;ICP过滤的条件可以不限于用于索引查找&#xff08;index lookup&#xff09;的字段。只要存储引擎在扫描当前索引时能够访问到该字段的值&#xff0c;就可以用它来过滤。索引可以分为聚簇索引和非聚簇索引没有索引下推&#xff1a;当使用聚簇索引的时候&am…

【电赛学习笔记】MaixCAM 的OCR图片文字识别

前言 本文是对MaixPy官方文档 MaixCAM MaixPy 实现 OCR 图片文字识别 - MaixPy 的项目实践整理与拓展&#xff0c;侵权即删。 功能介绍 OCR是MaixCAM中功能强大的数字文字识别模块&#xff0c;可以做到轻松的识别各种数字与文字。 OCR官方例程解析 工程源码 from maix im…

如何在生成式引擎优化(GEO)中取得成功

如果你希望您的内容出现在 AI Overviews、ChatGPT 和 Gemini 中&#xff1f;以下是设置 GEO 广告系列的方法。 任何好的 GEO 活动的第一步是创造一些东西实际上想要链接到或引用。 GEO 策略组件 想象一些你合理预期不会直接在 ChatGPT 或类似系统中找到的体验&#xff1a; 例如…

WPFC#超市管理系统(3)商品管理

超市管理系统6. 商品管理6.1 添加商品6.1 商品管理主界面6.3 修改商品6. 商品管理 将前文中的GoodsView全部改成和数据库一致的ProductView新增枚举类型商品类型ProductType.cs namespace 超市管理系统.Enums {public enum ProductType{水果类,休闲食品类,粮油类,饮料类,日用…

openwrt中br-lan,eth0,eth0.1,eth0.2

CPU是QCA9558 有两个以太网接口 这个好像没有外接交换机直接印出来的 openwrt中br-lan,eth0,eth0.1,eth0.2 https://blog.csdn.net/f2157120/article/details/119460852 这个哥用的是 链接: DomyWifi DW33D 路由器 CPU是QCA9558 有两个以太网接口 因为CPU没集成千兆交换&…

RAG实战指南 Day 29:RAG系统成本控制与规模化

【RAG实战指南 Day 29】RAG系统成本控制与规模化 开篇 欢迎来到"RAG实战指南"系列的第29天&#xff01;今天我们将深入探讨RAG系统的成本控制与规模化部署策略。当RAG系统从原型阶段进入生产环境时&#xff0c;如何经济高效地扩展系统规模、控制运营成本成为关键挑…

React 中获取当前路由信息

在 React 中获取当前路由信息&#xff0c;根据使用的路由库不同&#xff08;如 React Router v5/v6 或 Next.js&#xff09;&#xff0c;方法也有所区别。以下是常见场景的解决方案&#xff1a;1. 使用 React Router v6 获取当前路径&#xff08;pathname&#xff09;、查询参数…

Sklearn 机器学习 随机森林 网格搜索获取最优参数

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Sklearn 机器学习:随机森林 + 网格搜索获取最优参数实战指南 在构建机器学习模型时,…

力扣-101.对称二叉树

题目链接 101.对称二叉树 class Solution {public boolean check(TreeNode l, TreeNode r) {if (l null && r null)return true;if ((l null && r ! null) || (r null && l ! null))return false;if (l.val ! r.val)return false;return check(l…

从句--02-1--done,doing ,prep 做定语

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录定语1.done&#xff08;过去分词&#xff09;做定语一、过去分词作定语的位置二、过去分词作定语的语义特点三、过去分词作定语与现在分词作定语的区别四、过去分词作…

JVM全面解析

摘要&#xff1a;JVM是Java程序运行的核心环境&#xff0c;负责解释执行字节码并管理内存。其核心功能包括类加载与验证、字节码执行优化、内存管理与垃圾回收&#xff08;GC&#xff09;、跨平台支持及安全性保障。JVM架构包含程序计数器、虚拟机栈、本地方法栈、堆和方法区等…

SDC命令详解:使用write_script命令进行输出

相关阅读 SDC输出命令https://blog.csdn.net/weixin_45791458/category_12993272.html?spm1001.2014.3001.5482 write_script命令用于将设计中的属性设置命令输出为脚本文件&#xff08;其实它并不是一个SDC命令&#xff0c;归为此类只是为了方便管理&#xff09;&#xff0c…

‌CASE WHEN THEN ELSE END‌

‌CASE WHEN THEN ELSE END‌ 是SQL中实现条件逻辑的核心表达式&#xff0c;支持单字段匹配和多条件判断&#xff0c;适用于数据处理、分类统计等场景。‌基本语法形式‌SQL中CASE表达式有两种标准形式&#xff1a;1‌ 简单CASE表达式‌&#xff08;字段直接匹配&#xff09;C…