界面:
功能:
大致的功能就是点击列表框、组合框或者复选列表框中的内容,在上面的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)
{
}
}
}
主要针对的就是不同选择框的运用,大家可以通过代码灵活实现。对了,如果希望窗体分成上下两个部分,那么可以考虑使用内容分割条,但这个控件似乎没有办法后来关闭,因为只要删除这个控件,其上的所有控件也会被删除。