📜  如何设置C#列表框中存在的元素的高度?

📅  最后修改于: 2021-05-29 16:06:56             🧑  作者: Mango

在Windows窗体中,ListBox控件用于显示列表中的多个元素,用户可以从中选择一个或多个元素,并且这些元素通常显示在多列中。在ListBox中,可以使用ListBox的ItemHeight属性设置存在于ListBox中的元素的高度。 ListBox项的最大高度为255像素。您可以通过两种不同的方式设置此属性:

1.设计时:这是设置ListBox中存在的元素的高度的最简单方法,如以下步骤所示:

  • 第1步:创建一个Windows窗体,如下图所示:
    Visual Studio->文件->新建->项目-> WindowsFormApp
  • 步骤2:将ListBox控件从工具箱中拖放到Windows窗体上。您可以根据需要在Windows窗体上的任何位置放置一个ListBox控件。
  • 步骤3:拖放之后,您将转到ListBox控件的属性,以设置ListBox中存在的元素的高度。

    输出:

2.运行时:比上述方法有些棘手。在此方法中,可以借助给定的语法以编程方式设置ListBox控件中存在的元素的高度:

public virtual int ItemHeight { get; set; }

在这里,此属性的值是System.Int32类型。元素的高度始终以像素为单位。如果此属性的值设置为小于0或大于255个像素,它将抛出ArgumentOutOfRangeException。以下步骤显示如何动态设置ListBox中存在的元素的高度:

  • 步骤1:使用ListBox类提供的ListBox()构造函数创建一个列表框。
    // Creating ListBox using ListBox class constructor
    ListBox lstbox = new ListBox();
    
  • 步骤2:创建ListBox之后,设置ListBox类提供的ListBox的ItemHeight属性。
    // Setting the height of the items
    lstbox.ItemHeight = 13;
  • 步骤3:最后使用Add()方法将此ListBox控件添加到窗体。
    // Add this ListBox to the form
    this.Controls.Add(lstbox);
    

    例子:

    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 WindowsFormsApp28 {
      
    public partial class Form1 : Form {
      
        public Form1()
        {
            InitializeComponent();
        }
      
        private void Form1_Load(object sender, EventArgs e)
        {
            // Creating and setting the
            // properties of the label
            Label lb = new Label();
            lb.Location = new Point(243, 80);
            lb.Text = "Select post";
      
            // Adding label control to the form
            this.Controls.Add(lb);
      
            // Creating and setting the
            // properties of ListBox
            ListBox lstbox = new ListBox();
            lstbox.Location = new Point(246, 104);
            lstbox.ItemHeight = 13;
            lstbox.Items.Add("Intern");
            lstbox.Items.Add("Software Engineer");
            lstbox.Items.Add("Project Manager");
            lstbox.Items.Add("HR");
      
            // Adding listbox control to the form
            this.Controls.Add(lstbox);
        }
    }
    }
    

    输出: