在Windows窗体中,ListBox控件用于显示列表中的多个元素,用户可以从中选择一个或多个元素,并且这些元素通常显示在多列中。在ListBox中,允许使用ListBox的Sorted属性对ListBox中存在的元素进行排序。此属性始终按字母顺序对字符串类型元素进行排序,并按升序对整数类型元素进行排序。此属性的默认值为false。您可以通过两种不同的方式设置此属性:
1.设计时:这是对ListBox中存在的元素进行排序的最简单方法,如以下步骤所示:
- 第1步:创建一个Windows窗体,如下图所示:
Visual Studio->文件->新建->项目-> WindowsFormApp - 步骤2:将ListBox控件从工具箱中拖放到Windows窗体上。您可以根据需要在Windows窗体上的任何位置放置一个ListBox控件。
- 步骤3:拖放之后,您将转到ListBox控件的属性以对ListBox的元素进行排序。
输出:
2.运行时:比上述方法有些棘手。在此方法中,可以借助给定的语法以编程方式对ListBox控件中存在的元素进行排序:
public bool Sorted { get; set; }
在这里,此属性的值是System.Boolean类型。如果要对列表框中存在的元素进行排序,请将此属性的值设置为true。否则为假。以下步骤显示如何动态设置ListBox的Sorted属性:
- 步骤1:使用ListBox类提供的ListBox()构造函数创建一个列表框。
// Creating ListBox using ListBox class constructor ListBox lstbox = new ListBox();
- 步骤2:创建ListBox之后,设置ListBox类提供的ListBox的Sorted属性。
// Sorting the elements of the listbox lstbox.Sorted = true;
- 步骤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.Sorted = true; 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); } } }
输出:
排序之前:
排序后: