C# 无法在DropDownList的组合框中设置文本
我想在组合框中设置文本。下面是代码-C# 无法在DropDownList的组合框中设置文本,c#,winforms,C#,Winforms,我想在组合框中设置文本。下面是代码- private System.Windows.Forms.ComboBox selectModel; this.selectModel = new System.Windows.Forms.ComboBox(); this.selectModel.Name = "selectModel"; this.selectModel.FormattingEnabled = true; this.selectModel.Size = new System.Drawing
private System.Windows.Forms.ComboBox selectModel;
this.selectModel = new System.Windows.Forms.ComboBox();
this.selectModel.Name = "selectModel";
this.selectModel.FormattingEnabled = true;
this.selectModel.Size = new System.Drawing.Size(64, 21);
this.selectModel.Location = new System.Drawing.Point(3, 76);
this.selectModel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
下面的行不工作-
selectModel.SelectedText = getModelNameFromConf();
文档中说“它获取或设置在组合框的可编辑部分中选择的文本”。我无法让它对用户进行编辑
请提供任何解决方法。这是因为当您使用
ComboBoxStyle.DropDownList
时,下拉列表没有可编辑的部分。要使其可编辑,请使用ComboBoxStyle.DropDown
还要注意与控件是否具有焦点相关的参数。您可能会发现Text
属性更适合多种用途
编辑例如:
selectModel.Text = getModelNameFromConf();
假设组合在其列表中包含该值,设置Text
也将设置下拉列表的SelectedIndex
属性
(我认为此控件的某些属性名称特别容易混淆,包括
DropDown
与DropDownList
。MS的某些人在对此控件进行编码时遇到了不愉快的一天。还要注意,单词选择有两种不同的使用方式:在这里,您希望设置所选项目,而SelectedText
ns选中的某些文本可能不是整个项目文本。这与文本框中的情况相同,在文本框中,用户拖动鼠标高亮显示部分文本,但不是全部文本。)它是Windows窗体应用程序吗?为什么要使用ASP.NET标记?Text
属性?您能完整地编写它吗?我发现我可以使用selectModel.SelectedIndex来更改当前项。我只想显示该项,它已经存在于selectModel
中。假设,组合框包含d、b、c、a、e、k项。组合框显示的是d。现在我想显示c。我能做的一件事是先找出索引,然后设置,这是一点开销。相反,我想设置文本。@RaviJoshi我用这些点的信息扩展了我的答案。非常感谢。你的旁注非常有用:)