当前文章: 首页 >> 编程开发 >> VS >> C#在ListView中使用按钮、输入框、进度条等控件
«    2021年7月    »
1234
567891011
12131415161718
19202122232425
262728293031
网站分类
访客信息
    标签列表
    最近发表
    友站访问排行

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

      内容已经加密,请关注公众号后发送1002获取密码; 使用微信扫描二维码,或者微信直接上搜索公众号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.7.0 Powered By Z-BlogPHP © 2018 jues博客 Copyright Your WebSite.Some Rights Reserved.联系站长 Themes by jues