当前文章: 首页 >> 编程开发 >> VS >> C#在ListView中使用按钮、输入框、进度条等控件
«   2020年12月   »
123456
78910111213
14151617181920
21222324252627
28293031
网站分类
访客信息
  • IP: 3.237.97.64
  • 地点: 美国弗吉尼亚州Ashburn
标签列表
最近发表
友站访问排行

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包:

内容已经加密,请关注公众号后发送1003获取密码; 使用微信扫描二维码,或者微信直接上搜索公众号jues进行关注;


如果觉得本文章对你有用,可以在文章底部进行点赞,或者赏赐。


声明:本站原创文章,转载、复制、使用等请注明出处。
标题C#在ListView中使用按钮、输入框、进度条等控件
作者jues
地址: http://blog.jues.org.cn/post/C-use-buttons,-input-boxes-progress-bars-and-other-controls-in-listview.html
1楼

发表评论:

Powered By Z-BlogPHP 1.6.7 Valyria Powered By Z-BlogPHP © 2018 jues博客 Copyright Your WebSite.Some Rights Reserved.联系站长 Themes by jues

分享:

支付宝

微信