当前位置: 首页 > article >正文

C# 动态创建Label和ComboBox控件并修改Text

背景:在做项目的时候可能需要根据一定数量创建某些控件并修改其属性,本文以控件label、ConboBox控件进行动态创建。

程序运行前后的的Form动态图

动画

代码如下:

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 C__动态创建label和combobox控件
{
    public partial class Form1 : Form
    {
        private List<KeyValuePair<Label, ComboBox>> dynamicControls;
        public Form1()
        {
            dynamicControls = new List<KeyValuePair<Label, ComboBox>>();
            InitializeComponent();
            CreateDynamicControls();
        }

        private void CreateDynamicControls()
        {
            for(int i=0;i<6;i++)
            {
                Label label = new Label();
                label.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
                label.Text = $"相机{i + 1}";
                label.Location = new System.Drawing.Point(50, 10 + i * 30);

                ComboBox comboBox = new ComboBox();
                comboBox.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
                comboBox.Items.AddRange(new object[] { "Option 1", "Option2", "Option3" });
                comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
                comboBox.Location = new System.Drawing.Point(150, 10 + i * 30);
                comboBox.Width = 500;

                this.Controls.Add(label);
                this.Controls.Add(comboBox);

                dynamicControls.Add(new KeyValuePair<Label, ComboBox>(label, comboBox));
            }
        }
        //保存动态控件的文本信息
        private void SaveDynamicControlText()
        {
            foreach (var pair in dynamicControls)
            {
                Console.WriteLine($"Label:{pair.Key.Text},ComboBox:{pair.Value.SelectedItem}");
            }
        }
    }
}

源代码下载

下载链接腾讯云盘
https://share.weiyun.com/ouZjoUzF


http://www.kler.cn/a/511604.html

相关文章:

  • 大模型最新研究进展分析(市场规模、行业应用、技术趋势、当前挑战)
  • MySQL表的增删改查(基础)CRUD
  • 计算机毕业设计Python+卷积神经网络租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统
  • 云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)
  • LeetCode - #187 Swift 实现重复的DNA序列
  • Java测试开发平台搭建(九)前端
  • 大数据时代的璀璨明珠:机器学习引领的智能应用革新与深度融合探索
  • 【2024年华为OD机试】 (B卷,200分)- 跳格子游戏(Java JS PythonC/C++)
  • 第三部分:Linux中的yum
  • 有线通信方式(I2C、UART)
  • 设计模式:构建高效且可维护的软件系统的基石
  • 车载测试和相关面试
  • 类和对象——类的对象占用内存的大小计算
  • 【C++】内存管理与分配
  • Leetcode::3427.变长子数组求和
  • vue+高德API搭建前端Echarts图表页面
  • JavaScript笔记基础篇04——对象
  • win内核内部直接irp读取文件写入文件
  • RabbitMQ 进阶
  • Linux内存管理(Linux内存架构,malloc,slab的实现)
  • 排序算法(C语言版)
  • Vue3数据响应式原理
  • PHP变量
  • TiDB 和 MySQL 的关系:这两者到底有什么不同和联系?
  • Linux(NFS服务)
  • SoC芯片架构揭秘:从Arm核心到高速通信