代码错误?

时间:2010-11-15 11:58:25

标签: vb.net checkbox

你们可以告诉我为什么以下剂量不起作用:

(p.s我不希望在点击复选框时单击邻接时附加文件。

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    Dim FILE_NAME As String = "C:\RXF\log.txt"

    'Adding items for AutoCAD 2006...
    If CheckBox1.CheckState = CheckState.Checked Then
        Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
        objWriter.WriteLine("module: 4FNV-67-5H")
        objWriter.Close()
    End If
End Sub

结束班

1 个答案:

答案 0 :(得分:-1)

重复性不高,即使你发布了确切的代码。这对我来说非常合适,如果一个文本文件不存在,则在指定的位置创建一个文本文件,并将指定的文本追加到末尾。文件。

我建议的唯一事情是将StreamWriter对象包装在Using statement中,以确保始终调用其Dispose方法,即使抛出异常(更多)可能在你做磁盘I / O时)。因此,您现有的代码只会更改为:

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    Dim FILE_NAME As String = "C:\RXF\log.txt"

    ''#Adding items for AutoCAD 2006...
    If CheckBox1.CheckState = CheckState.Checked Then
        Using objWriter as New System.IO.StreamWriter(FILE_NAME, True)
            objWriter.WriteLine("module: 4FNV-67-5H")
            objWriter.Close()
        End Using
    End If
End Sub

此外,如果您预计此方法会被大量调用(即,用户单击并取消选中并反复单击该复选框),您可以考虑创建StreamWriter对象一次并保存它作为私有类级变量,而不是每次调用方法时创建和处理它。然后你必须确保在你的班级(可能是包含的形式)被处理时处置它。