Combobox下拉列表框的常用属性与事件

下拉列表框 ComboBox
快速监视快捷键:Shift+F9(VS2017)

text 属性获取的数据为控件显示的内容.
SelectedItem 是获取当前选择的对象.
如果当前DropDownStyle 为DropDown时,可以更改下拉框中的内容.那么将会引发使用SelectedItem的null异常.
为了避免用户修改,我们一般会设置如果当前DropDownStyle为如果当前DropDownList

如果需要做一个联动的逻辑.
首先获取 cmb1 选择的数据
然后设置 cmb2 选择的项目.


/*string[] strs= new string[3];
 * strs[0]="窗体";
 * strs[1]="修炼";
 * 与下面等价
 * 
 *string[] strs= new string[] { "窗体", "修炼", "手册" };  初始化器
 *cmb下拉框.Items.AddRange(strs);
 * 与下面是等价
 *
 *cmb下拉框.Items.AddRange(new string[] { "窗体", "修炼", "手册" });
*/

打开字符串集合编辑器
在这里插入图片描述
或者在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

打开快速监视:
添加断点——>运行调试——>选中项——>右键选择QuickWatch或者快捷键Shift+F9
在这里插入图片描述
在这里插入图片描述
界面如下:
在这里插入图片描述

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 WinForm06
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Dictionary<string, string> dic = new Dictionary<string, string>();

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.SelectedIndex = comboBox1.Items.Count - 1; //选中最后一项

            //代码添加数据方法一:
            comboBox2.Items.Add("阿加莎·克里斯蒂");
            comboBox2.Items.Add("查尔斯·狄更斯");
            comboBox2.Items.Add("阿瑟·柯南道尔");
            comboBox2.Items.Add("加西亚·马尔克斯");
            comboBox2.Items.Add("夏洛蒂·勃朗特");
            comboBox2.Items.Add("简·奥斯汀");
            comboBox2.SelectedIndex = 3;

            //代码添加数据方法二:
            comboBox3.Items.AddRange(new string[] { "杨门女将", "岳飞", "东郭先生", "八仙过海" }); //初始化器
            comboBox3.SelectedIndex = 2;

            string[] strs = new string[] { "哪吒闹海", "醉八仙", "渔岛怒潮", "胆剑篇", "孙悟空外传" };
            comboBox4.Items.AddRange(strs);  //35+36两行代码的作用<==>33行代码
            comboBox4.SelectedIndex = 0;

            dic.Add("北京985大学", "清华,北大,人大,北师大,北航,北理,中国农大,中央民族");
            dic.Add("上海985大学", "复旦,同济,上交大,华东师范");
            dic.Add("湖南985大学", "湖南,中南,国防科大");
            dic.Add("陕西985大学", "西交大,西北工业,西北农林科技");
            dic.Add("广东985大学", "华南理工,中山");
            dic.Add("江苏985大学", "南大,东南");
            dic.Add("辽宁985大学", "大连理工,东北大学");
            dic.Add("山东985大学", "山大,中国海洋");
            dic.Add("四川985大学", "四川,电子科技");
            dic.Add("天津985大学", "南开,天大");
            dic.Add("湖北985大学", "武大,华中科技");

            foreach(var item in dic.Keys)
            {
                comboBox6.Items.Add(item.ToString());
            }
            comboBox6.SelectedIndex = 0;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string textstr = comboBox1.Text; //属性获取的数据为控件显示的内容
            object obj = comboBox1.SelectedItem; //获取当前选择的对象
            string selecttext = comboBox1.SelectedItem.ToString();
            string str = comboBox1.SelectedText;
            object sval = comboBox1.SelectedValue;
            MessageBox.Show(selecttext);
        }

        //数据联动1
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox5.SelectedIndex = comboBox2.SelectedIndex;
        }

        //数据联动2
        private void comboBox6_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox7.Items.Clear();  //清空原有数据
            string selectext = comboBox6.SelectedItem.ToString(); //获取选中项
            string strvalue = dic[selectext];  //使用选中项目作为key获取dic中的value
            string[] strs = strvalue.Split(',');  //将字符串数据转换为数组
            comboBox7.Items.AddRange(strs);  //添加到comboBox7中
            comboBox7.SelectedIndex = 0;     //设置选中项
        }
    }
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python tkinter 中的下列表框是一种常用的用户界面控件,可以让用户从预定义的选项中选择一个或多个选项。它通常由一个文本框和一个下箭头组成,用户可以单击箭头以显示可用选项列表。在 tkinter 中,可以使用 ttk.Combobox 类来创建下列表框,可以设置选项列表、默认选项、宽度等属性。同时,也可以使用 bind() 方法来绑定事件处理程序,以响应用户的选择操作。 ### 回答2: Python tkinter是一个流行的GUI工具包,它提供了一系列的控制小部件,以帮助用户设计直观且易于使用的GUI程序。 下列表框是其中一个比较常用的控件,它允许用户从预定义的选项中选择一个值。python tkinter提供了一些方法实现下列表框,下面是一些的简单用法: 1. 在tkinter中使用下列表框,需要首先导入ttk模块: ```python from tkinter import * from tkinter.ttk import * ``` 2. 定义下列表框: ```python combo = Combobox(root) ``` 3. 添加选项: ```python combo['values'] = ('apple', 'banana', 'cherry', 'dog', 'cat') ``` 4. 运行窗口: ```python combo.pack() root.mainloop() ``` 完整的示例代码: ```python from tkinter import * from tkinter.ttk import * root = Tk() root.geometry('200x100') combo = Combobox(root) combo['values'] = ('apple', 'banana', 'cherry', 'dog', 'cat') combo.pack(pady=20) root.mainloop() ``` 在上述示例中,我们创建了一个窗口并在该窗口中加入了一个下列表框。下列表框中包含了五个选项,当用户点击下列表框时,可以从这五个选项中选择一个。 总之,python tkinter提供了一些简单易用的方法来创建下列表框,使得用户可以以更加直观的方式与程序互动。 ### 回答3: Python tkinter 是一个广泛应用于Python GUI编程的模块,提供了丰富的工具和函数,以便于开发者实现各种类型的界面和控件。当我们需要将多个选项提供给用户选择时,下列表框就是一个常见的选择。 Python tkinter 的下列表框(Combobox)使用户可以从下列表中选择一个或多个选项,这些选项由程序员在创建时定义。下列表框的组成包括显示框和下箭头,当用户单击箭头,显示框内的选项列表将呈现出来,用户可以选择一个或多个选项,然后将其返回给程序。 要创建 Python tkinter 下列表框组件,需要使用 tkinter.ttk.Combobox() 方法。此方法需要以下参数: - master: 必选参数,表示父控件窗口。 - values: 必选参数,表示下列表框中的选项,可以是列表、元组或字典等序列型数据。 - state: 可选参数,表示下列表框是否可以更改,可设置为 "readonly" 或 "normal",默认为 "normal"。 - width: 可选参数,表示下列表框的宽度。 例如,我们可以使用以下代码来创建一个简单的下列表框: ``` from tkinter import * from tkinter.ttk import * root = Tk() root.geometry("300x300") options = ["Option 1", "Option 2", "Option 3"] variable = StringVar() variable.set(options[0]) combobox = Combobox(root, values=options, textvariable=variable) combobox.pack(pady=10) root.mainloop() ``` 在上述代码中,我们首先导入 tkinter 和 tkinter.ttk 模块。然后使用 Tk() 方法创建一个根窗口,并设置其大小为 300x300。接下来,我们定义了一个选项列表 options,其中包含三个字符串选项。然后,我们使用 StringVar() 方法创建一个变量 variable,该变量用于跟踪用户选择的选项。我们将变量的值设置为 options 列表的第一个选项,即 "Option 1"。最后,我们使用 Combobox() 方法创建一个下列表框,该下列表框包括选项列表、变量变量和显示框。我们使用 pack() 方法将下列表框放置在根窗口中,并使用 pady=10 设置垂直间距。最后,我们使用主事件循环(mainloop())来保持程序在运行状态。 总而言之,Python tkinter 的下列表框使用户可以从一个选项列表中选择一个或多个选项,这使得用户界面更加友好和易于使用。通过使用 tkinter.ttk.Combobox() 方法,我们可以轻松地创建下列表框,其参数包括窗口、选项列表、变量变量和显示框等组成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值