C# .net窗体实战8:列表框、组合框、复选列表框

界面:

功能:

大致的功能就是点击列表框、组合框或者复选列表框中的内容,在上面的textbox中会呈现出来。

代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace E
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            listBox1.Items.Add("北京");
            listBox1.Items.Add("上海");
            listBox1.Items.Add("天津");
            listBox1.Items.Add("重庆");
            listBox1.Items.Add("青岛");
            listBox1.Items.Add("大连");
            listBox1.Items.Add("宁波");
            listBox1.Items.Add("厦门");
            listBox1.Items.Add("深圳");

            // 重要:comboBox1.DropDownStyle在界面设计时一定要设置为 ComboBoxStyle.Simple 样式,
            //       以决定该控件展开后会占多大的地方。
            rdoDropDown.Checked = true;
            comboBox1.Items.Clear();
            comboBox1.Items.Add("中国");
            comboBox1.Items.Add("美国");
            comboBox1.Items.Add("加拿大");
            comboBox1.Items.Add("英国");
            comboBox1.Items.Add("德国");
            comboBox1.Items.Add("法国");
            comboBox1.Items.Add("意大利");
            comboBox1.Items.Add("俄罗斯");

            rdoSelected.Checked = true;
            checkedListBox1.Items.Clear();
            checkedListBox1.Items.Add("济南");
            checkedListBox1.Items.Add("青岛");
            checkedListBox1.Items.Add("淄博");
            checkedListBox1.Items.Add("枣庄");
            checkedListBox1.Items.Add("东营");
            checkedListBox1.Items.Add("烟台");
            checkedListBox1.Items.Add("潍坊");
            checkedListBox1.Items.Add("济宁");
            checkedListBox1.Items.Add("泰安");
            checkedListBox1.Items.Add("威海");
            checkedListBox1.Items.Add("日照"); 
            checkedListBox1.Items.Add("莱芜"); 
            checkedListBox1.Items.Add("临沂");
            checkedListBox1.Items.Add("德州");
            checkedListBox1.Items.Add("聊城");
            checkedListBox1.Items.Add("滨州");
            checkedListBox1.Items.Add("菏泽");
        }

        private void chkMultiSelected_CheckedChanged(object sender, EventArgs e)  //列表框的复选按钮
        {
            if (chkMultiSelected.Checked)
                listBox1.SelectionMode = SelectionMode.MultiSimple;
            else
                listBox1.SelectionMode = SelectionMode.One;
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            textBox1.Text = "";
            if (listBox1.SelectionMode == SelectionMode.MultiSimple) //多选
            {
                for (int i = 0; i < listBox1.SelectedIndices.Count; i++)
                        textBox1.Text +=  listBox1.SelectedItems[i] + ";";
            }
            else //单选
            {
                textBox1.Text =  listBox1.SelectedItem.ToString();
            }
        }

        private void rdoSimple_CheckedChanged(object sender, EventArgs e) //设置ComboBox的下拉样式
        {
            if (rdoSimple.Checked)
                comboBox1.DropDownStyle = ComboBoxStyle.Simple;
        }

        private void rdoDropDown_CheckedChanged(object sender, EventArgs e) //设置ComboBox的下拉样式
        {
            if (rdoDropDown.Checked)
                comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
        }

        private void rdoDropDownList_CheckedChanged(object sender, EventArgs e) //设置ComboBox的下拉样式
        {
            if (rdoDropDownList.Checked)
                comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
        }

        private void comboBox1_TextChanged(object sender, EventArgs e)  
        {
            textBox1.Text = comboBox1.Text;
        }

        private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (rdoChecked.Checked) //显示复选列表框的Check项
            {
                textBox1.Text="";
                for (int i = 0; i < checkedListBox1.CheckedIndices.Count; i++)
                {
                    textBox1.Text += checkedListBox1.CheckedIndices[i] + ":" + checkedListBox1.CheckedItems[i].ToString() + ";";
                }
            }
           if (rdoSelected.Checked) //显示复选列表框的Select项
            {
                textBox1.Text = checkedListBox1.SelectedIndex.ToString() + ":" + checkedListBox1.SelectedItem.ToString();
            }            
        }

        private void rdoChecked_CheckedChanged(object sender, EventArgs e)
        {
            if (rdoChecked.Checked) 
            {
                textBox1.Text = "";
                for (int i = 0; i < checkedListBox1.CheckedIndices.Count; i++)
                {
                    textBox1.Text += checkedListBox1.CheckedIndices[i] + ":" + checkedListBox1.CheckedItems[i].ToString() + ";";
                }
            }
        }

        private void rdoSelected_CheckedChanged(object sender, EventArgs e)
        {
            if (rdoSelected.Checked)
            {
                if(checkedListBox1.SelectedIndices.Count>0)
                    textBox1.Text = checkedListBox1.SelectedIndex.ToString() + ":" + checkedListBox1.SelectedItem.ToString();
            }  
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}

主要针对的就是不同选择框的运用,大家可以通过代码灵活实现。对了,如果希望窗体分成上下两个部分,那么可以考虑使用内容分割条,但这个控件似乎没有办法后来关闭,因为只要删除这个控件,其上的所有控件也会被删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值