C#在ListView中使用按钮、输入框、进度条等控件

在学习C#的winform开发时,想在一个ListView控件中添加一些自定义的按钮、输入框、进度条等,发现和Qt开发比想来真的很吃力。

 

解决方法:

然而自己简单实现了,把它打包为一个nupkg包,可以直接调用;

 

效果:

C#在ListView中使用按钮、输入框、进度条等控件.png

 

使用部分的代码

using Jues.CustomListItemView;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using static System.Windows.Forms.ListViewItem;

namespace Demo
{
    public partial class Form1 : Form
    {
        private CustomControl customControl;
        public Form1()
        {
            InitializeComponent();

            customControl = new CustomControl(this.listView1);

            toolStripButtonAdd_Click(null, null);
        }

        private void toolStripButtonAdd_Click(object sender, EventArgs e)
        {
            ListViewItem listViewItem = new ListViewItem();

            // name 
            listViewItem.Text = String.Format("jues {0}",this.listView1.Items.Count+1);

            this.listView1.Items.Add(listViewItem);

            // TextBox
            TextBox textBox = new TextBox();
            textBox.Text = String.Format("textBox {0}", this.listView1.Items.Count + 1);
            customControl.Insert( this.columnHeaderTextBox.Index, listViewItem, textBox);

            // ComboBox
            ComboBox comboBox = new ComboBox();
            comboBox.Items.Add("Baby");
            comboBox.Items.Add("Young");
            comboBox.Items.Add("Old");
            customControl.Add(listViewItem, comboBox);

            comboBox.SelectedIndex = this.listView1.Items.Count % comboBox.Items.Count;

            // progressBar
            ProgressBar progressBar = new ProgressBar();
            progressBar.Maximum = 10;
            progressBar.Value = this.listView1.Items.Count % progressBar.Maximum;
            customControl.Add(listViewItem, progressBar);

            // Button
            Button button = new Button();
            button.Text = "Delete";
            ListViewSubItem buttonSubItem = customControl.Add(listViewItem, button);
            button.Click += delegate (object sender1, EventArgs e1)
            {
                customControl.Remove(listViewItem);
                // this.listView1.Items.Remove(listViewItem);
            };
        }

       
    }
}

 

nupkg包

CustomListItemView.0.0.1.zip

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jues

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值