列表选择控件

发布时间 2024-01-12 16:32:17作者: LilyFlower

列表选择控件

ListBox

ListBox控件显示一个项列表,用户可以从中选择一个或多个项。

创建一个ListBox并添加相关元素:

image-20240112150328850

image-20240112150349239

image-20240112150407318

private void Submit(object sender, EventArgs e)
{
    string currentItem = this.listBox.SelectedItem.ToString();
    int index = this.listBox.SelectedIndex;     //获取选中的元素的值(Text)
    MessageBox.Show(Convert.ToString(index));   //获取选中元素的索引(从0开始)
}

移除某一元素

this.listBox.Items.Remove("土地");           //移除某一元素

统计当前ListBox有多少个元素

int count = this.listBox.Items.Count;
MessageBox.Show(Convert.ToString(count));   //统计当前ListBox有多少个元

CheckedListBox

显示一个 ListBox,其中在每项的左边显示一个复选框。如下图所示:

image-20240112152622525

image-20240112152559618

private void FormLoad(object sender, EventArgs e)
{
    this.checkedListBox.SelectionMode = SelectionMode.One;
}

private void Submit(object sender, EventArgs e)
{
    //统计选中元素的个数
    int count = this.checkedListBox.SelectedItems.Count;
    //获取选中的元素的下标(从0开始)
    int index = this.checkedListBox.SelectedIndex;
    string selectedItemValue = this.checkedListBox.SelectedItem.ToString();
}

设置不允许选中

private void FormLoad(object sender, EventArgs e)
{
    this.checkedListBox.SelectionMode = SelectionMode.None;
}

添加一个条目:

this.checkedListBox.Items.Add("高尔夫球");

image-20240112153908636

image-20240112153923408

移除一个条目

this.checkedListBox.Items.Remove("篮球");

image-20240112154050833

image-20240112154101134

Combox

Combox控件是一个下拉选择的控件,如下图所示:

image-20240112154608096

private void Submit(object sender, EventArgs e)
{
   //获取选中的索引
   int index = this.comboBox.SelectedIndex;//初始从0开始
   //获取选中的元素
   string text = this.comboBox.SelectedItem.ToString();
   //添加一个条目
   this.comboBox.Items.Add("这是添加的球");
   //移除一个条目
   this.comboBox.Items.Remove("篮球");
   //统计当前Combox有多少个条目
   int count = this.comboBox.Items.Count;
}

image-20240112155317441

DomainUpDown

DomainUpDown控件是一个用于显示和选择预定义的字符串列表,并允许用户通过点击上下箭头或直接输入来滚动和选择这些值的控件。

image-20240112162319510

private void TextChanged(object sender, EventArgs e)
{
    MessageBox.Show(this.domainUpDown.Text);
}

image-20240112162621283

ListView

NumericUpDown

控件用于在用户界面上显示一个数值,并允许用户通过点击上下箭头或直接输入来调整这个数值。

image-20240112160523976

image-20240112160616831

  • Minimum:设置允许的最小值,默认为0。
  • Maximum:设置允许的最大值。
  • Value:当前选定的数值,可以用来初始化控件的初始值。
  • Increment:每次点击箭头按钮时增加或减少的数值。
  • DecimalPlaces:设置小数位数。
  • ThousandsSeparator:是否显示千分位分隔符。

使用代码获取当前的值:

double value = Convert.ToDouble(this.numericUpDown.Value);

当value值发生变化时...

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    int currentValue = numericUpDown1.Value;
    // 根据currentValue执行相应的逻辑操作
}

TreeView

TreeView控件用于展示一个层次化的树状结构数据,如文件系统目录、组织架构、分类菜单等。

image-20240112161549026

private void FormLoad(object sender, EventArgs e)
{
    //创建根节点
    TreeNode rootNode = new TreeNode("根节点");
    //创建子节点
    TreeNode child1 = new TreeNode("子节点1");
    TreeNode child2 = new TreeNode("子节点2");
    //将子节点挂载到根节点上
    rootNode.Nodes.Add(child1);
    rootNode.Nodes.Add(child2);
    //将根节点挂载到树上
    this.treeView.Nodes.Add(rootNode);
}

获取选中节点的值:

string text = this.treeView.SelectedNode.Text;

//或者是:
private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
{
    TreeNode selectedNode = e.Node;
    string nodeName = selectedNode.Text;

    // 根据选中的节点执行相应的逻辑操作
}

image-20240112161806503