你们可以告诉我为什么以下剂量不起作用:
(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
结束班
答案 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
对象一次并保存它作为私有类级变量,而不是每次调用方法时创建和处理它。然后你必须确保在你的班级(可能是包含的形式)被处理时处置它。