2016-12-10 4 views
0

Я хочу сохранить свои данные в текстовый файл, нажав кнопку. Я пишу в существующем текстовом файле по следующему коду. Она очень проста в использовании из-за функции file.writeline и я preffer этого метода:Создайте текстовый файл в диалоговом окне

Dim file As System.IO.StreamWriter 
    file = My.Computer.FileSystem.OpenTextFileWriter("D:\test.txt", True) 
    file.WriteLine("-------------'Input data'-------------") 

Но мне нужен код, чтобы создать текстовый файл и позволить пользователю выбрать его имя. Я хочу открыть диалоговое окно сохранения или что-то вроде этого. Как я мог это сделать?

+0

Что проблема именно ? Вы пытались показать «SaveFileDialog» и использовать результат? Просто покажите его с помощью 'ShowDialog' и проверьте, является ли результат« DialogResult.OK », а затем используйте имя файла FileName. Также используйте 'System.IO.File.WriteAllText' для сохранения содержимого. –

+0

Добро пожаловать в переполнение стека! Пройдите [тур] (http://stackoverflow.com/tour), [справочный центр] (http://stackoverflow.com/help) и [как задать хороший вопрос] (http: // stackoverflow.com/help/how-to-ask), чтобы увидеть, как работает этот сайт, и помочь вам улучшить ваши текущие и будущие вопросы, которые помогут вам получить более качественные ответы. –

ответ

0

Я предполагаю, что вы хотите создать текстовый файл, потому что вы смешиваете 'create' и 'existing' в своем вопросе.

Вам нужно что-то вроде следующего кода, но вы должны изменить код для своих нужд, например. добавив кнопку «Сохранить» в форму. Пожалуйста, обратите внимание, и попытаться изменить следующие строки для ваших нужд тоже:

Dim fsOut As New FileStream (OpenFileDialog1.FileName, FileMode.Append)

Imports System.IO 

Public Class Form1 
    Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click 

    With OpenFileDialog1 
     '.DefaultExt = "txt" 
     '.FileName = "test" 
     .Filter = "Textfile (*.txt)|*.txt" 
     .CheckFileExists = True 
     .InitialDirectory = "D:\" 
     '.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) 
     '.Multiselect = False 
     .Title = "Select text file" 
    End With 

    If OpenFileDialog1.ShowDialog(Me) = DialogResult.OK Then 
     txtFilePathName.Text = OpenFileDialog1.FileName 

     Dim fsOut As New FileStream(OpenFileDialog1.FileName, FileMode.Create) 
     Dim swFile As New StreamWriter(fsOut) 

     swFile.WriteLine("-------------'Input data'-------------") 
     swFile.Close() 
    End If 

    End Sub 
End Class 

enter image description here

Смежные вопросы