2010-02-22 102 views
1

我正在创建一个richtextbox编辑器,并且需要将保存功能以及另存为。我可以很容易地使用savefiledialog做一个保存功能,但我不知道如何保存没有这个。谁能帮忙?如何保存而不保存为

回答

7

在某处创建字段,例如string filename。最初将其设置为null

打开文档时,将文件名存储在filename中。

当通过另存为保存文档时,还将此文件名存储在filename中。

当调用Save时,检查值filename。如果是null,请调用另存为。如果不是null,请保存至filename中指定的文件名。

+0

如果你有一个Load()来从文件中填充编辑器,那么还要设置'filename'。 – 2010-02-22 15:53:33

+0

正是我所需要的。只是另一个问题,但。如果您点击“新建文档”按钮并且文本自上次保存后发生了更改,我将如何制作消息框显示。我知道如何做消息框等,但不是只有当文档已被编辑,而不是保存..如果你明白..: - S – Pops 2010-02-22 16:09:24

+0

@Pops:当文件被改变,然后设置一个'UnsavedChanges'布尔到真正。保存时将其设置为false。 – 2010-02-22 16:48:03

5

这通常工作的方式是跟踪用户打开或保存的文件名。

然后,当他们使用保存功能时,只需保存到先前指定的文件名即可。如果没有指定文件,则显示另存为。

2

是不是“简单地保存”下面的代码(伪代码)?

Save() = 
    WriteTo(oldfilename) 

SaveAs() = 
    stream = OpenDialog() 
    oldfilename = stream.filename 
    Save()