ListBox控件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015
作者:李成富
撰写时间:2019年8月12日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ListBox控件又称列表框,它在工具箱中的图标为,它显示一个项目列表供用户选择。列表框(ListBox)控件表示一个选项清单,用户可能用鼠标选择其中一个或者几个选项。
列表框的特点是:列表框中的项目是通过程序插入到其中的,用户无法向清单中输入数据,当选择其中的项目,并在用户单击一个按钮或者执行某个操作时,由应用程序完成对指定项目的具体操作。
ListBox常用属性及方法:
(1)DataSource(数据源属性):获取或设置此 ListControl 的数据源。
(2)Items:获取ListBox的项。
(3)MultiColumn:获取或设置一个值,该值指示 ListBox 是否支持多列。
(4)SelectedIndex:获取或设置 ListBox 中当前选定项的从零开始的索引。
(5)SelectedItem:获取或设置 ListBox 中的当前选定项。
(6)SelectedItems:获取包含 ListBox 中当前选定项的集合。
(7)Text:获取或搜索 ListBox 中当前选定项的文本。
(8)Dispose():释放由 Component 使用的所有资源。
(9)GetItemText(Object):返回指定项的文本表示形式。
下面根据对列表框(ListBox)的了解,做一个简单的示例:
功能实现:
(1)添加“ListBox1”的项内容并显示
(2)中间左右移动两个按钮实现ListBox1和ListBox2的项移动功能。
(3)底部的“获取”按钮点击触发click时间,textBox用于显示ListBox2的结果。
XAML代码:
<ListBox Name="ListBox1" Width="80" Height="80" Margin="10,17,153.2,53.4"></ListBox>
<ListBox Name="ListBox2" Width="80" Height="80" Margin="148,17,15.2,53.4"></ListBox>
<TextBox Name="txt" Width="100" Height="45" Margin="89,115,104.6,10.4"></TextBox>
<Button Content="《--" Width="30" Height="20" Click="btn21_Click"></Button>
<Button Content="--》" Width="30" Height="20" Margin="132,50,131.6,100.4" Click="btn12_Click"></Button>
<Button Content="获取" Width="40" Height="20" Margin="208,129,45.6,21.4" Click="btn_Click"></Button>
C#代码:
public ListBox()
{
InitializeComponent();
this.ListBox1.Items.Clear();
//for循环添加
for (int i = 0; i < provinces.Length; i++)
{
this.ListBox1.Items.Add(provinces[i]);
}
}
/// <summary>
/// provinces数组:作为lit1的DataSource
/// </summary>
string[] provinces = new string[]{
"青海省","四川省",
"黑龙江省","甘肃省","云南省",
"湖南省","广东省","北京省","河南省"};
/// <summary>
/// btn12事件:将左边的ListBox项移动到右边
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn12_Click(object sender, RoutedEventArgs e)
{
if (this.ListBox1.Items.Count > 0)
{
Object item1 = this.ListBox1.SelectedItem;
if (item1 != null)
{
//删除项
this.ListBox1.Items.Remove(item1);
//添加项
this.ListBox2.Items.Add(item1);
}
}
}
/// <summary>
/// btn21事件:将右边的ListBox项移动到左边
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn21_Click(object sender, RoutedEventArgs e)
{
if (this.ListBox2.Items.Count > 0)
{
Object item2 = this.ListBox2.SelectedItem;
if (item2 != null)
{
this.ListBox2.Items.Remove(item2);
this.ListBox1.Items.Add(item2);
}
}
}
/// <summary>
/// ”获取“按钮:获取右边ListBox(lit2)的所有项,并添加到TextBox中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Click(object sender, RoutedEventArgs e)
{
this.txt.Clear();
Object[] ite = new Object[this.ListBox2.Items.Count];
for (int i = 0; i < this.ListBox2.Items.Count; i++)
{
this.txt.AppendText(this.ListBox2.Items[i].ToString() + "\n");
}
}
效果图: