代码之家  ›  专栏  ›  技术社区  ›  Todd Main

组合框数据源和应用程序。设置问题

  •  3
  • Todd Main  · 技术社区  · 15 年前

    我试图做一些我认为在WinForms中相对简单的事情,但结果不是这样。

    我想做的是:

    从数组中填充组合框的下拉值。例如:

    Dim versions As String() = New String() {"3", "4"}
    cmbVersion.DataSource = versions
    

    简单,没问题。但我遇到的问题是,我有一个绑定到user.settings(字符串值)的相同组合框,名为 MyVersion . 当前值为“4”。

    当我加载表单时,我希望下拉列表是'3'和'4',显示的文本将是 我的版本 . 这不管用。值始终为“3”,在组合框中将其更改为“4”不会影响 我的版本 .

    我在这里做错什么了?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Edwin de Koning Umair Baig    15 年前

    首先,我认为您应该意识到,来自My.Settings.MyVersion的值不是您在项目属性/设置中定义的值。这些只是初始(默认)值。实际值来自user.config文件。当新用户首次运行应用程序时,将在运行时自动创建user.config文件,并将非默认值写入用户范围的设置。 地点是这样的:

    c: \Documents and Settings\[用户名]\Local Settings\Application Data\[公司名称][应用域名] [开斋节] [散列]\[验证]

    尽管每个操作系统可能有所不同。

    其次,在您告诉设置之前,设置不会被持久化,方法是调用:

    My.Settings.Save()
    

    我希望这能澄清一些事情。

    可以通过在设计器中设置SelectedItem属性或通过调用:

    cmbVersion.SelectedItem = My.Settings.Myversion
    
    推荐文章