我使用My.Settings在组合框中存储每个项目的不同文本
看上去像这样

我将"String“类型添加到项目设置5中。
我在用这个代码
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
发布于 2014-09-10 11:08:45
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,它将捕获当前的更改。
例如,:
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值。
--你要这样做:
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 Subhttps://stackoverflow.com/questions/25762988
复制相似问题