[英]How to save changes of a saved text file in VB.NET
我有一个文本编辑器,可以打开文本文件.txt
并将文本放在文本框中。 用户还可以将文本保存到.txt
文件。
用户如何保存最近保存的文本文件的更改?
另外,如果用户打开了txt
文件,文本编辑器如何将文本文件更改为用户更改的内容?
希望你能理解。 提前致谢。
如果我理解您的问题:您希望文本编辑器应用程序检测到用户当前正在查看的源文本文件所发生的更改,并且如果检测到更改,则应更新其文本框以显示该文本文件的最新文件。用户..对吗?
如果是这种情况,一种方法是使用计时器。 每次触发计时器滴答事件时,都应检查对文件的最后修改日期。 如果它大于您第一次打开文件时检查的日期,则表明文件已经过一些更改。 将文件内容重新加载到文本框中。
另一种方法(不使用计时器)是仅在激活应用程序窗口后检查修改日期。 由于用户必须将程序的焦点更改为“记事本”才能更改文本文件,因此一旦用户将焦点返回到“文本编辑器应用程序”,请使用“窗口激活”或“单击”事件检查文件修改日期。
由于到目前为止我还不知道你做了什么,所以我将从一开始就做这件事。
为此,您将需要以下组件:
一个SaveFileDialog
打开文件对话框
三个按钮(或菜单项),分别标记为:“保存”,“另存为”,“打开”
我实际上建议使用RichTextBox而不是常规TextBox。
。
首先,我们在代码中放置一个变量,以了解之前保存了什么文件:
Dim LatestFile As String
然后,转到Save-和OpenFileDialog的属性,并将其放在“过滤器”字段中:
Text files (*.txt)|*.txt
然后,双击SaveFileDialog,它应该在代码中写入SaveFileDialog_FileOk事件。 你在那放:
LatestFile = SaveFileDialog1.FileName
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
然后双击OpenFileDialog,然后输入以下代码:
LatestFile = OpenFileDialog1.FileName
RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)
然后是按钮:
“打开”按钮:
OpenFileDialog1.ShowDialog()
“保存”按钮:
If Not LatestFile = "" Then
RichTextBox1.SaveFile(LatestFile, RichTextBoxStreamType.PlainText)
Else
SaveFileDialog1.ShowDialog()
End If
和“另存为”按钮:
SaveFileDialog1.ShowDialog()
。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.