【问题标题】:VS2010/C#: How do you set the default value of a ComboBox in the IDE?VS2010/C#:如何在IDE中设置ComboBox的默认值?
【发布时间】:2011-12-22 22:23:21
【问题描述】:

我正在使用 Visual Studio 2010 用 C# 编写一个 Windows 窗体应用程序。

它有一个组合框。我已将 DropDownStyle 设置为“DropDownList”,并在“Items”中添加了几行。

问:我有什么办法可以在“属性”编辑器中设置 SelectedItemIndex,这样当组合框出现时,“Items”集合中的那一行就会显示为默认值?

我知道我可以在我的 Form_Load 方法中以编程方式设置“myComboBox.SelectedItemIndex = NNN”,但我确定在 MSVS IDE 中可能也有一些方法可以做到这一点。

有什么想法吗?

提前谢谢你!

【问题讨论】:

    标签: c# winforms combobox


    【解决方案1】:

    我不确定这是否是您的要求,但如果您希望将特定项目设置为默认 IE,您加载表单并且已经为您选择了一个值。

    只需将其放入您的 public Form1() 方法中即可。

    comboBox1.SelectedItem = "Test1"; 
    //comboBox1 change to the name of 
    //your combobox
    //Test1 change to the item in your list of items that you want 
    //defaulted.
    

    我认为这是迄今为止最好的方法。

    【讨论】:

    • 嗨 - 感谢您的回复。不幸的是,这就是我在问题中提到的“程序化解决方法”。我一直在寻找可以在设计时在 IDE 的属性编辑器中配置的东西。 Delphi IDE 允许您编辑“ItemIndex”属性以设置 ComboBox 默认值。我希望 MSVS IDE 可能具有一些等效的设计时功能。
    • 谢谢。我还在 MSDN 上问过 - 如果找到解决方案,我会回复:social.msdn.microsoft.com/Forums/en/vswpfdesigner/thread/… 否则,看起来我的答案是“否”。再次感谢您 - 我很感激 :)
    • 到目前为止,MSDN 没有回应:( 除了在我的 form_Load() 方法中手动设置“comboBox1.SelectedIndex = NNN”之外,我必须手动设置“comboBox1. SelectedIndexChanged += comboBox1_SelectedIndexChanged;" 以防止事件过早触发(在我完成所有“OnLoad”设置之前。
    • 多么恼人的问题——你可以在属性中设置项目,但不能在索引中设置?!当然这是初始化中的一行,但仍然感觉很乱。 *与微软握手*
    【解决方案2】:

    不确定是否可以完成确切的事情,但 Visual Studio 提供了一种将值存储在其应用程序设置中的方法,通过它您可以完成 2 件事:

    1. 设置默认值,第一次打开表单时 用户(注:仅适用于第一次)
    2. 用户的最后一次选择被保存,下次用户选择 打开表格,他的最后选择会自动反映 这是一个非常好的用户体验。

    选择组合框并打开其属性部分,在(应用程序设置)下,选择(属性绑定),一旦组合框的应用程序设置打开,选择文本属性并创建一个应用程序设置。这将是用户第一次打开表单时默认选择的值,之后用户所做的任何选择都会在下次打开表单时反映出来。

    【讨论】:

      【解决方案3】:

      您可以在 Properties 窗口中将 ComboBoxText 属性设置为您想要的集合中的值之一默认。

      但是,这需要 DropDownStyleDropDown,并使您的 ComboBox 可编辑。

      如果这对您来说更可接受,并且您仍希望使其不可编辑,您可以覆盖 ComboBoxKeyPress 事件,如下所示。

          private void comboBox_KeyPress(object sender, KeyPressEventArgs e)
          {
              e.Handled = true;
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-05
        • 2018-12-26
        • 1970-01-01
        相关资源
        最近更新 更多