Private Sub SaveButton_Click(sender As Object, e As EventArgs) Handles SaveButton.Click
Dim strLineFromSave As String
'This method below returns a String of 81 characters long.'
strLineFromSave = grid.udsSave()
SaveFileDialog1.Filter = "TXT Files (*.txt*)|*.txt*"
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(SaveFileDialog1.FileName)
'For loop to write a line every 9 characters, so you get a 9x9 grid.'
For intCounter As Integer = 0 To (strLineFromSave.Length - 1) Step 9
Dim strTemp = strLineFromSave.Substring(intCounter, 9)
sw.WriteLine(strTemp)
Next
sw.Close()
End If
End Sub
上面的代码用于将我的数独游戏保存到.txt文件中。
我遇到的问题是,每当我点击保存按钮时,一切正常,直到它没有将文件保存为.txt文件为止。它只是将其保存为“文件”。
有人知道这是从哪里来的吗?我该如何解决这个问题?
注意: 我尝试过将SaveFileDialog1.filter设置为txt文件,但这没有帮助。
提前致谢。
答案 0 :(得分:4)
过滤器对正在保存的文件类型没有任何影响,只是对话框中出现的文件(类似于打开)。实际的扩展" .txt"首次创建时需要与文件一起保存。这就是Windows知道该文件是文本文件的方式。否则,如果您将其保存为" MySudoku"它不包含文件扩展名。
https://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.defaultext(v=vs.110).aspx
尝试使用defaultext属性。
SaveFileDialog1.DefaultExt = "txt"