- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C应用程序设计教程(第2版)第03章-WPF文本编辑器剖析
(31)为Window1类增加一个bool变量bSave=false作为标记,用来跟踪控件RichTextBox中的文本内容是否被修改。在程序开始运行、建立和打开一个新文件后,bSave=false,表示如果关闭当前文件,不必提示用户保存当前文件。当RichTextBox控件中的文本被修改,将激活RichTextBox控件TextChanged事件,在该事件处理函数中,使bSave=true,表示关闭当前文件前,要询问用户是否保存当前已被修改的文件 3.7.2 提示保存已被修改的文件 (32)首先在主窗体Window1类中增加一个函数,其功能是如果检查到当前文件已被修改,用对话框询问用户是否保存当前文件,根据用户的选择作相应的处理,该函数返回true,表示继续操作,该函数返回false,表示忽略此次操作。之所以要增加这个函数是因为有三处要用到此函数。该函数定义如下: public bool IfSaveOldFile() { bool ReturnValue = true; if (bSave) { MessageBoxResult dr; dr = MessageBox.Show(要保存当前更改吗?, 保存更改吗?, MessageBoxButton.YesNoCancel, MessageBoxImage.Question); switch (dr) { case MessageBoxResult.Yes: FileSave_MenuItem_Click(null, null); ReturnValue = true; bSave = false; break; case MessageBoxResult.No: bSave = false; ReturnValue = true; break; case MessageBoxResult.Cancel: ReturnValue = false; break; } } return ReturnValue; } (33)在菜单文件|新建和文件|打开菜单项的事件函数第1条语句前增加如下语句: if(!IfSaveOldFile()) return; (34)在菜单文件|新建菜单项事件函数最后,在文件|打开菜单项textRange.Load语句后边增加语句:bSave = false; (35)修改菜单文件|保存... 菜单项单击事件处理函数如下: private void FileSave_MenuItem_Click(object sender, RoutedEventArgs e) { if (s_FileName.Length != 0) using (FileStream fileStream = File.Create(s_FileName)) { TextRange textRange = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd); textRange.Save(fileStream, DataFormats.Rtf); bSave = false; } } else FileSaveAs_MenuItem_Click(sender, e); } (36)修改菜单文件|另存为... 菜单项单击事件处理函数 private void FileSaveAs_MenuItem_Click(object sender, RoutedEventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = Rtf文件(*.Rtf)|*.rtf|所有文件(*.*)|*.*; if (saveFileDialog1.ShowDialog().Value) {
文档评论(0)