c# - 如何设置组合框索引?
问题描述
“我知道问题标题可能会重复,但没有找到我正在寻找的解决方案。”
一个组合框,包含大约 50 个文本框和组合框组合中的控件。我必须为它们设置值,并且不想写 50 行来为每个控件设置值,所以我想出了下面的代码。但这在组合框的情况下不起作用。或者,如果你们能提出更好的建议,那就太好了。
if(controlsInGroupBox == editStep.Count)
{
int i = 0;
foreach (Control ctr in universalGroupBoxObject.Controls)
{
if (ctr is TextBox)
{
ctr.Text = editStep[i];
}
if (ctr is ComboBox)
{
//ctr.SelectedIndex = cntrlObjListMain.comboBoxLocation.FindStringExact(editStep[i]);
//ctr.SelectedIndex is not working
}
i++;
}
}
解决方案
如果您将数据绑定到组合框,则默认情况下会选择第一项,而无需选择一项。
例如
List<string> items = new List<string>() { "aa", "bb", "cc", "dd" };
combobox1.DataSource = items;
只要您的列表中有项目,SelectedIndex 就应该工作。
ctr.SelectedIndex = ctr.Items.Count > 0 ? 0 : -1;
如果有任何项目,上面将选择一个项目,否则不会选择任何项目。
推荐阅读
- c - C中的信号量死锁
- c++ - 多线程未按预期运行
- docker - 加快 'apt-get update' 以加快 Docker 映像构建
- c# - 控制器的非异步方法是否会阻止其他用户在使用或锁定时进入?
- f# - 如何在 F# 中使用 C# 可为空的日期时间
- c++ - CMake 找不到 boost_test
- python - 如何将函数中的值设置为 CSV?
- php - Wordpress 添加重写规则重定向而不是“隐藏”
- youtube - Youtube 评论 API 抛出“权限不足:请求的身份验证范围不足”错误
- ios - 当我的应用程序在后台运行时,是否可以获取用户正在使用的当前应用程序?