c# - 未选择项目时如何在组合框中显示文本?

标签 c# winforms .net-2.0

C# 和 .Net 2.0 问题 (WinForms)

我在 ComboBox 中有一组项目,但没有选择。在那种情况下,我想在组合“请选择项目”上显示一个字符串。

当前的实现只是在索引 0 上添加带有此类文本的空项目,并在用户选择以下项目之一时将其删除。不幸的是,空项目也显示在下拉列表中。如何避免这种情况或以其他方式 - 是否有任何方法可以在未选择任何项目时在 ComboBox 上显示自定义文本?

ComboBoxStyle 设置为 DropDown(ComboBox 是可编辑的)时,下面的答案有效。当 ComboBoxStyle 设置为 DropDownList 时,是否可以执行此操作?

最佳答案

使用combobox的insert方法将“Please select item”插入到0索引,

comboBox1.Items.Insert(0, "Please select any value");

并在第一个索引之后将所有项目添加到组合框中。在表单加载集

comboBox1.SelectedIndex = 0;

编辑:

在表单加载中通过硬编码将文本写入comboBox1.Text

comboBox1.Text = "Please, select any value";

并在comboBox1的TextChanged事件中写入如下代码

 private void comboBox1_TextChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex < 0)
            {
                comboBox1.Text = "Please, select any value";
            }
            else
            {
                comboBox1.Text = comboBox1.SelectedText;
            }
        }

关于c# - 未选择项目时如何在组合框中显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064133/

相关文章:

c# - 是否仍有可能调用 mapper.map 的 map ?

c# - Visual Studio : Edit XAML file while debugging

c# - 在通知区域显示 winform

vb.net - Winforms MDI "Desktop"区域边界

c# - 是否有不区分大小写的 string.Replace 替代方法?

c# - 如何将文本从 OS X 上的 Mono/C# 控制台应用程序复制到剪贴板?

c# - 在 C# 中如何使用 TcpClient 在远程 SSH 上运行 unix 命令

c# - 如何在 Windows 窗体设计器中保存用户控件的结构属性?

.net - PropertyGrid - 可以定制吗?

c# - 无法编译,因为 Visual Studio 正在使用我的 DLL