首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Combobox和My.Settings

Combobox和My.Settings
EN

Stack Overflow用户
提问于 2014-09-10 10:23:12
回答 1查看 381关注 0票数 0

我使用My.Settings在组合框中存储每个项目的不同文本

看上去像这样

我将"String“类型添加到项目设置5中。

我在用这个代码

代码语言:javascript
复制
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If cmbperiod.SelectedItem = 1 Then
        txtnote.Text = My.Settings.first()
    ElseIf cmbperiod.SelectedItem = 2 Then
        txtnote.Text = My.Settings.second()
    ElseIf cmbperiod.SelectedItem = 3 Then
        txtnote.Text = My.Settings.third()
    ElseIf cmbperiod.SelectedItem = 4 Then
        txtnote.Text = My.Settings.fourth()
    ElseIf cmbperiod.SelectedItem = 5 Then
        txtnote.Text = My.Settings.fifth()
    End If
End Sub

我可以从my.settings加载值,但是如何编辑它。

例如,我想键入第三个句点,并在Form_Closing上将该文本保存到我的settings.third中,所以下次我打开表单时,它将被加载。

Anel

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-10 11:08:45

代码语言:javascript
复制
  Private Sub Form_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        If cmbperiod.SelectedItem = 1 Then
            My.Settings.first() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 2 Then
            My.Settings.second() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 3 Then
            My.Settings.third() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 4 Then
            My.Settings.fourth() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 5 Then
            My.Settings.fifth() = txtnote.Text
        End If
    End Sub

这将解决您的问题,但将只保存当前选定的值。

因此,例如,如果您想保存多个值,则必须添加一个命令,如txtnote.leave,它将捕获当前的更改。

例如,

代码语言:javascript
复制
Private Sub txtnote_Leave(sender As Object, e As EventArgs) Handles txtnote.Leave
        If cmbperiod.SelectedItem = 1 Then
            My.Settings.first() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 2 Then
            My.Settings.second() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 3 Then
            My.Settings.third() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 4 Then
            My.Settings.fourth() = txtnote.Text
        ElseIf cmbperiod.SelectedItem = 5 Then
            My.Settings.fifth() = txtnote.Text
        End If
    End Sub

在此之后,您可能希望执行SelectedIndexChanged,因此当您选择不同的ComboBox值时,您也可以加载txtnote值。

--你要这样做:

代码语言:javascript
复制
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        If cmbperiod.SelectedItem = 1 Then
            txtnote.Text = My.Settings.first()
        ElseIf cmbperiod.SelectedItem = 2 Then
            txtnote.Text = My.Settings.second()
        ElseIf cmbperiod.SelectedItem = 3 Then
            txtnote.Text = My.Settings.third()
        ElseIf cmbperiod.SelectedItem = 4 Then
            txtnote.Text = My.Settings.fourth()
        ElseIf cmbperiod.SelectedItem = 5 Then
            txtnote.Text = My.Settings.fifth()
        End If
    End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25762988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档