【C#】设计一个选购计算机配置的应用程序

文章目录

    • [1. 创建新的 Windows Forms 应用程序项目](#1. 创建新的 Windows Forms 应用程序项目)
    • [2. 设计界面](#2. 设计界面)
      • [2.1 添加控件和设置属性](#2.1 添加控件和设置属性)
    • [3. 编写事件处理代码](#3. 编写事件处理代码)
    • [4. 运行和测试应用程序](#4. 运行和测试应用程序)

1. 创建新的 Windows Forms 应用程序项目

  1. 打开 Visual Studio。
  2. 选择"创建新项目"。
  3. 在项目类型中选择"Windows Forms 应用程序"(确保选择的是 C#)。
  4. 命名您的项目(例如:ComputerConfigurator)。
  5. 选择项目保存的位置。
  6. 点击"创建"。

2. 设计界面

在 Visual Studio 的设计视图中,您将使用工具箱(Toolbox)来添加和配置控件。

2.1 添加控件和设置属性

  1. 添加 Label 控件

    • 从工具箱中拖动一个 Label 控件到窗体上。
    • 设置 Label 的 Text 属性为"电脑品牌:"。
  2. 添加 ComboBox 控件

    • 从工具箱中拖动一个 ComboBox 控件到窗体上。
    • 设置 ComboBox 的 DropDownStyle 属性为"DropDownList",这样它就是一个下拉列表。
    • 右键点击 ComboBox,选择"属性",然后在"Items"属性中添加内存选项:"方正"、"联想"、"Dell"、"兼容机"。
  3. 添加3个 groupbox 控件

    • 为groupbox1和groupbox2中添加radioButton控件是单选的按钮
    • groupbox3中添加checkbox控件时复选的按钮
  4. 添加 listBox 控件

    • 用于存放选择后提交按钮展示结果
  5. 添加 Button 控件

    • 拖动一个 Button 控件到窗体上。
    • 设置 Button 的 Text 属性为"确定"。

3. 编写事件处理代码

双击"确定"按钮,Visual Studio 会自动生成按钮的点击事件处理程序框架。在其中添加以下代码:

csharp 复制代码
private void button1_Click(object sender, EventArgs e)
        {
            // 清空listBox2,准备添加新的选中项
            listBox2.Items.Clear();

            // 检查comboBox1中是否有选中的项
            if (comboBox1.SelectedItem != null)
            {
                // 将选中的项添加到listBox2中
                listBox2.Items.Add(comboBox1.SelectedItem.ToString());
            }

            // 遍历groupBox1中的所有控件
            foreach (Control control in groupBox1.Controls)
            {
                // 检查控件是否是RadioButton,并且是否被选中
                if (control is RadioButton radioButton && radioButton.Checked)
                {
                    // 如果是选中的RadioButton,将其文本添加到listBox2
                    listBox2.Items.Add(radioButton.Text);
                    break; // 如果只有一个选项应该是被选中的,找到后就可以退出循环
                }
            }

            // 遍历groupBox2中的所有控件
            foreach (Control control in groupBox2.Controls)
            {
                // 检查控件是否是RadioButton,并且是否被选中
                if (control is RadioButton radioButton && radioButton.Checked)
                {
                    // 如果是选中的RadioButton,将其文本添加到listBox2
                    listBox2.Items.Add(radioButton.Text);
                    break; // 如果只有一个选项应该是被选中的,找到后就可以退出循环
                }
            }

            // 遍历groupBox3中的所有控件
            foreach (Control control in groupBox3.Controls)
            {
                // 检查控件是否是CheckBox,并且是否被选中
                if (control is CheckBox checkBox && checkBox.Checked)
                {
                    // 如果是选中的CheckBox,将其文本添加到listBox2
                    listBox2.Items.Add(checkBox.Text);
                }
            }
        }

需要在窗体上添加一个 ListBox 控件(名为 listBox2)来显示选中的配置。

4. 运行和测试应用程序

相关推荐
可乐鸡翅yeah_5 分钟前
HLS流媒体首屏起播慢深度优化,从分片、索引、播放器全链路调优
开发语言·javascript·ecmascript·m3u8·m3u8在线
luj_17688 分钟前
生物体如何应对功能击穿?
c语言·开发语言·c++·经验分享·算法
luj_176810 分钟前
击穿分析五大关键步骤
开发语言·网络·c++·经验分享·算法
wuyk55511 分钟前
从零吃透 MQTT 通信|第 11 章 MQTT 项目调试验证、性能优化、常见疑难问题、OTA 升级基础
c语言·开发语言·stm32·学习·性能优化
海盗123416 分钟前
微软技术日报 2026-09-14:Rust 升为微软一级语言,云业务重组为智能体与基础设施
开发语言·microsoft·rust
名字还没想好☜33 分钟前
Python 的 __call__ 实战:让实例像函数一样被调用,做带状态计数器、缓存器与可配置策略
开发语言·后端·python·缓存·编程语言
skywalk816336 分钟前
第 23 轮方向确定:保护表通用化替代轮。先深入探查剩余保护表依赖场景和任务 6 的四阶段路径,再写任务书。9.14
开发语言·人工智能·光明
無限進步D42 分钟前
VSCode 简介+安装+JavaWeb前端常用插件+简单配置
java·开发语言·css·vscode·html·css3·插件
张小姐的猫1 小时前
【AI大模型接入SDK】 —— SQLite上手
linux·开发语言·c++·人工智能·python·log4j
溪语流沙1 小时前
【Python项目实战】部署上线:把博客发布到云服务器
服务器·开发语言·python