0

我试图让一个按钮生成一个文本文件并根据在组合框字段中输入的内容保存一个新的组合框项目或替换现有的组合框项目,但似乎每次都添加一个新条目。它会覆盖它生成的文本文件就好了。

我尝试让按钮删除与输入的名称匹配的组合框条目,然后添加一个具有相同名称的新条目,但是当我这样做时,它会清除组合框字段并输入一个空白项。这是没有删除部分的原始代码。

Sub Button9Click(sender As Object, e As EventArgs)
        My.Computer.FileSystem.WriteAllText("C:\Users\" & Environment.UserName & "\desktop\Templates\" & comboBox2.text & ".txt",TextBox4.Text, False)
        ComboBox2.Items.Add(comboBox2.Text)
End Sub

例如,如果我将“测试”放在组合框字段中并单击保存两次,我会得到两个“测试”项目。那么如果我使用具有以下功能的删除按钮:

Sub Button10Click(sender As Object, e As EventArgs)
        My.Computer.FileSystem.DeleteFile ("C:\Users\" & Environment.UserName & "\desktop\templates\" & comboBox2.text & ".txt")
        comboBox2.Items.remove(comboBox2.Text)
End Sub

它只删除一个条目。如果我再次删除重复项,因为文本文件不再存在,程序会崩溃。

我该如何写这个,如果组合框中的内容与现有条目完全匹配,它会覆盖现有项目?它确实覆盖了它创建的文本文档,没有问题。

4

1 回答 1

0

在按钮的单击事件下,只需检查该项目是否已存在,然后再将其添加到组合框中。尝试这个:

Sub Button9Click(sender As Object, e As EventArgs)
    My.Computer.FileSystem.WriteAllText("C:\Users\" & Environment.UserName & "\desktop\Templates\" & comboBox2.text & ".txt",TextBox4.Text, False)
    If (Not ComboBox2.Items.Contains(comboBox2.Text)) Then
        ComboBox2.Items.Add(comboBox2.Text)
    End If
End Sub
于 2019-05-08T03:23:06.407 回答