🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、进度条等。开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。
ListBox是Winform中常用的列表控件,用于显示一列项目。ListBox控件相对简单,易于使用和定制。
常用属性和方法:
使用示例:
listBox1.Items.Add("item1");
listBox1.Items.Add("item2");
listBox1.Items.Add("item3");
if(listBox1.SelectedItem!=null)
{
string selectedText = listBox1.SelectedItem.ToString();
int selectedIndex = listBox1.SelectedIndex;
}
else
{
MessageBox.Show("请选择一项");
}
listBox1.SetSelected(0, true);
listBox1.SetSelected(2, false);
listBox1.MultiSelect = true;
需要注意的是,ListBox控件仅用于显示,不支持编辑。如果需要编辑列表,可以使用DataGridView控件。
ListBox控件中的MultiColumn属性用于设置是否启用多列显示。当该属性为true时,ListBox控件将会按照指定列数将项目显示在多列中,可以通过使用HorizontalExtent属性设置每一个列的宽度。以下是使用MultiColumn属性的示例代码:
// 启用多列显示
listBox1.MultiColumn = true;
// 设置列数
listBox1.ColumnWidth = 120;
int colNum = 3;
listBox1.Width = listBox1.ColumnWidth * colNum;
// 添加项目
for(int i=1; i<=12; i++)
{
listBox1.Items.Add("item " + i.ToString());
}
在上述代码中,我们启用了ListBox控件的MultiColumn属性,并设置了列数为3。接着,我们设置了每一列的宽度为120像素,并通过计算得到了ListBox控件的总宽度。最后,我们添加了12个项目到ListBox控件中,这些项目将会按照3列的方式进行显示。
需要注意的是,在使用MultiColumn属性时,我们无法直接设置每一个列的宽度,需要通过使用HorizontalExtent属性来进行设置。在上述示例中,我们设置每一个列的宽度为120像素,因此我们将HorizontalExtent属性设置为120。
ListBox控件是Windows Forms中常用的选择列表控件,用于显示单列或多列的文本或图像。其中,HorizontalExtent和HorizontalScrollbar是两个重要的属性。
下面是一个示例,演示如何使用HorizontalExtent和HorizontalScrollbar属性:
private void Form1_Load(object sender, EventArgs e)
{
// 添加一些文本项
listBox1.Items.Add("This is a long text item that will be horizontally scrolled.");
listBox1.Items.Add("Short item");
listBox1.Items.Add("Another long text item that will be horizontally scrolled.");
// 设置水平滚动条的显示宽度
listBox1.HorizontalExtent = 200;
// 显示水平滚动条
listBox1.HorizontalScrollbar = true;
}
为了使ListBox控件中的长文本项能够水平滚动,我们设置了HorizontalExtent属性的值为200,并将HorizontalScrollbar属性设置为True,这样就会自动显示水平滚动条。
ListBox控件是Winform中常用的列表控件,用于展示一组数据。其中,IntegralHeight和ItemHeight是两个常用的属性。
IntegralHeight是指ListBox的高度是否自适应,如果设置为True,则ListBox的高度将自适应为一个Item的高度的整数倍,这样可以避免出现Item被裁剪的情况。如果设置为False,则可以自由调整ListBox的高度。
ItemHeight是指ListBox中每个Item的高度,可以通过设置该属性来调整Item的高度。默认值为13像素。
例如,如果设置ListBox的IntegralHeight为True,ItemHeight为30,然后添加10个Item,那么ListBox的高度将自适应为30的整数倍,也就是300像素,每个Item的高度为30像素。
使用示例:
private void Form1_Load(object sender, EventArgs e)
{
listBox1.IntegralHeight = true; // 自适应高度
listBox1.ItemHeight = 30; // 每个Item的高度为30像素
for (int i = 1; i <= 10; i++)
{
listBox1.Items.Add("Item " + i);
}
}
SelectionMode属性用于设置ListBox控件中的选择模式。它有三个枚举值:
可以通过以下代码设置SelectionMode属性:
listBox1.SelectionMode = SelectionMode.MultiExtended;
ListBox控件的UseTabStops属性决定了列表中的文本是否应该使用制表符来设置文本的间距。如果将此属性设置为True,则ListBox控件将使用制表符将文本分隔成不同的列,并根据列的宽度显示文本。如果将其设置为False,则仅使用空格分隔文本。
以下是使用ListBox控件UseTabStops属性的示例:
private void Form1_Load(object sender, EventArgs e)
{
listBox1.UseTabStops = true;
listBox1.Items.Add("Apple\t$1");
listBox1.Items.Add("Banana\t$2");
listBox1.Items.Add("Orange\t$3");
}
如果将UseTabStops属性设置为False,则列表中的文本将只使用空格来分隔文本,并且不会根据列的宽度对其进行对齐。
Winform中ListBox控件常用于以下场景:
以下是一个Winform中ListBox控件的具体案例:
假设我们有一个字符串数组,其中包含一些城市的名称。我们想要在一个ListBox控件中显示这些城市,并允许用户选择一个城市。
首先,我们需要在窗体中添加一个ListBox控件。在Visual Studio中,我们可以通过从工具箱中拖动ListBox控件到窗体上来完成这个任务。
然后,我们需要在窗体加载时将城市名称添加到ListBox控件中。我们可以使用以下代码:
private void Form1_Load(object sender, EventArgs e)
{
string[] cities = { "New York", "London", "Paris", "Tokyo", "Sydney" };
foreach (string city in cities)
{
listBox1.Items.Add(city);
}
}
现在,当窗体加载时,我们的ListBox控件将显示这些城市名称。
接下来,我们需要处理用户选择的城市。我们可以通过使用SelectedIndexChanged事件来完成这个任务。当用户选择一个城市时,我们将使用MessageBox.Show方法显示该城市的名称。以下是处理SelectedIndexChanged事件的代码:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedCity = listBox1.SelectedItem.ToString();
MessageBox.Show("You selected: " + selectedCity);
}
现在,当用户选择一个城市时,该城市的名称将显示在MessageBox中。