📜  如何在C#中设置ListBox的可见性?

📅  最后修改于: 2021-05-29 20:51:52             🧑  作者: Mango

在Windows窗体中,ListBox控件用于显示列表中的多个元素,用户可以从中选择一个或多个元素,并且这些元素通常显示在多列中。在ListBox中,可以使用ListBox的Visible属性设置ListBox的可见性。
如果此属性的值设置为true,则列表框控件及其子控件在屏幕上可见;如果此属性的值设置为false,则列表框控件及其子控件在屏幕上不可见。 。此属性的默认值为true。您可以通过两种不同的方式设置此属性:

1.设计时:这是设置ListBox可见性的最简单方法,如以下步骤所示:

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

    输出:

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

public bool Visible { get; set; }

在这里,此属性的值是System.Boolean类型。以下步骤显示如何动态设置ListBox的可见性:

  • 步骤1:使用ListBox类提供的ListBox()构造函数创建一个列表框。
    // Creating ListBox using ListBox class constructor
    ListBox lstbox = new ListBox();
    
  • 步骤2:创建ListBox之后,设置ListBox类提供的ListBox的Visible属性。
    // Setting the visibility of the listbox
    lstbox.Visible = false;
    
  • 步骤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.Visible = false;
            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);
        }
    }
    }
    

    输出:

    在将可见性设置为false之前:

    将可见性设置为false后: