winforms 组合框的默认选择

epggiuax  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(102)

我做了一个ComboBox,从那里可以选择一种语言,当选择这将工作,如果形式改变了语言。
然而,默认的SelectedIndex是-1。现在,如果我没有在Form.Load子文件中声明其他值,这将是有意义的。
Load函数中,我添加了以下内容:

cbbLanguage.SelectedIndex = My.Settings.Language

cbbLanguageComboBox的名称,在应用程序设置中,Language(整数)的默认设置为0。
因此,根据我的理解,这应该相当于:

cbbLanguage.SelectedIndex = 0

在调试时,我注意到无论之前设置SelectedIndex,索引都没有改变。
组合框有2个项目(German[0] English[1]),因此默认值应为德语。
还有

cbblanguage.Text = "Example"

不起作用,即使索引为-1
Combobox中的项目在这里创建:

Private Sub options_Load(sender As Object, e As EventArgs)Handles MyBase.Load
    txtDownloadPath.Text = My.Settings.DownloadPath.ToString()
    chkboxStandardInfo.SetItemChecked(0,My.Settings.chkboxSysteminfo)
    chkboxStandardInfo.SetItemChecked(1,My.Settings.chkboxIPconfigInfo)
    chkboxStandardInfo.SetItemChecked(2,My.Settings.chkboxPrinterInfo)

    chkboxAutoStart.Checked = My.Settings.AutoGetInfo

    cbbLanguage.Items.Add("German")
    cbbLanguage.Items.Add("English")
    cbbLanguage.SelectedIndex = My.Settings.Language 'this is an integer / 0

    MsgBox(cbbLanguage.SelectedIndex, 0, "test") 'Index is always -1 Idk why
End Sub

我不知道这是有趣还是奇怪,但items.add("...")也不工作,我不知道我做了什么,但ComboBox根本不工作。
如果有什么不清楚的地方,请让我知道,这样我就可以/将提供信息。

mcdcgff0

mcdcgff01#

好的,问题已经找到并解决了。这里的问题是我忽略了我的功能

cbbLanguage.SelectedIndexChanged

我在这里刷新了表单,当然当加载时,组合框被改变,事件触发,我最初想做的改变的块……啊,好吧,你知道的更多

相关问题