实现一个mdi多窗体tex文件 打开及保存的问题。(希望各位高手帮忙解答 谢谢~)

问题描述

实现一个mdi多窗体打开及保存的问题。首先有一个主窗体菜单第一项文件-下设“打开”“保存”2个选项。可以在主窗体中连续打开本地多个TXT文件(副窗体)查看。(其中有子窗体布局功能(层叠,纵向,横向))现在想实现:假设打开C盘下的3个TXT文件,鼠标点击其中的一个TXT文件(激活)然后点击主窗体菜单-“保存”选项把当前处于激活窗台的副窗体中的TXT文件另存为自己想要保存的地方。打开文件的功能已经完成,可是保存的功能不懂怎么编写,请各位高手帮忙提出完整的代码谢谢了~-------------------------------------------------------------------------------------------------------------------------------------主窗体代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespace多功能窗体{publicpartialclassMainForm:Form{publicMainForm(){InitializeComponent();}privatevoidShowTxtBox(stringstrl){Form2f2=newForm2(strl);f2.MdiParent=this;f2.Show();}privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse){OpenFileDialogopen=newOpenFileDialog();open.Filter="txtfiles(*.txt)|*.txt|Allfiles(*.*)|*.*";DialogResultdr=open.ShowDialog();if(dr==DialogResult.OK){ShowTxtBox(open.FileName);}}privatevoid纵向平铺ToolStripMenuItem_Click(objectsender,EventArgse){LayoutMdi(MdiLayout.TileVertical);}privatevoid横向平铺ToolStripMenuItem_Click(objectsender,EventArgse){LayoutMdi(MdiLayout.TileHorizontal);}privatevoid层叠显示ToolStripMenuItem_Click(objectsender,EventArgse){LayoutMdi(MdiLayout.Cascade);}privatevoid保存ToolStripMenuItem_Click(objectsender,EventArgse){SaveFileDialogsave=newSaveFileDialog();savefile(save.FileName);}}}副窗体代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespace多功能窗体{publicpartialclassForm2:Form{privatestringstrl="";///<summary>//////</summary>///<paramname="strl">文本文件路径</param>publicForm2(stringstrl){InitializeComponent();this.strl=strl;}publicvoidForm2_Load(objectsender,EventArgse){FileStreamfs=null;StreamReadersr=null;try{fs=newFileStream(strl,FileMode.Open);sr=newStreamReader(fs,Encoding.GetEncoding("gb2312"));StringBuildersb=newStringBuilder();stringstrline=sr.ReadLine();while(strline!=null){sb.Append(strline);strline=sr.ReadLine();}this.textBox1.Text=sb.ToString();}catch(IOExceptione1){MessageBox.Show(e1.ToString());}finally{if(sr!=null)sr.Close();if(fs!=null)fs.Close();}}}}

时间: 2024-10-23 10:33:47

实现一个mdi多窗体tex文件 打开及保存的问题。(希望各位高手帮忙解答 谢谢~)的相关文章

使用GDI+的MFC应用程序的文件打开和保存对话框

(译注:原文代码的Demo_VC7没有在同Demo_VC6一样显示滚动条视图,修改之) 开发环境:Windows XP/Server 2003/2000/NT4.0-SP6/98/Me, MS Visual Sudio 6.0/2003, GDI+ 介绍 CGdiplusFileOpenDialog和CGdiplusFileSaveAsDialog类提供了一个在GDI+的MFC应用程序轻松实现文件打开和保存对话框的方法. 主要特点是: 它们可以动态地装入关于支持图像的解码器/编码器和构建文件过滤

VC菜单命令详解(文件打开、保存与关闭)

第一部分: 五个命令ID: 处理函数 ID_FILE_NEW CWinApp::OnFileNew ID_FILE_OPEN CWinApp::OnFileOpen ID_FILE_SAVE CDocument::OnFileSave ID_FILE_SAVEAS CDocument::OnFileSaveAs ID_FILE_CLOSE CDocument::OnFileClose1.ID_FILE_NEW CWinApp::OnFileNew调用CDocManager::OnFileNew.

面试中被一个问题问到了,关于EJB会话bean的,大侠进来帮忙解答一下

问题描述 简单地介绍下无状态会话bean和有状态会话bean的联系与差别? 解决方案 解决方案二:我是初学者,我也不会解决方案三:区别就在有没有状态.解决方案四:因为区别于有无状态,所以差别体现在可以服务任何请求,和服务于某一特定的请求解决方案五:状态指的就是这个类的属性.对于EJB容器来说,其会对StatelessSessionBean的实例进行重用,如果在StatelessSessionBean中有属性成员的话,会在重用这个对象时继续含有这个属性成员的值.而StatefulSessionBe

一个C#小问题 请那位高手帮忙解决 谢谢

问题描述 intx;PublicVector(Vectorrhs){x=rhs.x;//这俩个数不是同一个数吗?Vector是一个类名,这有什么左右呢}非常抱歉没分了 解决方案 解决方案二:我也是菜鸟.但是你这个函数是拷贝构造函数吧.那么x和rhs.x当然不是一个x了...当你vectorp=newvector:....vectorp2(p):这样p2.x=p.x了,使用的就是这个拷贝构造函数.解决方案三:这个构造用一个Vector类型的实例去实例化另一个Vector类型的实力PublicVec

急!一个Structs2工程发布时遇到的麻烦,求高手帮忙!谢谢!

问题描述 这是我在发布一个Structs2的工程时出现的错误,请高手帮帮忙!是哪里配置错误.(程序没有错误,应该是tomcat或者是MyEclipse的配置问题).严重:Exceptionstartingfilterstruts2java.lang.NullPointerExceptionatcom.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)atcom.opensym

WinFrom 如何制作一个mdi窗体切换栏?

问题描述 效果如图,试过TabControl但是TabControl不能调整窗体大小,想要实现的就是主窗体下面有一排窗体按钮对应每一个mdi子窗体,主窗体大小变动时,按钮的相对位置不变 解决方案 解决方案二:窗体大小可以在父控件的SizeChanged事件中动态调整,你也可以直接设置子窗体的Dock为Fill

MDI 子窗体关闭不了

问题描述 同时打开两个MDI子窗体,然后关闭子窗体,程序不停的闪,关不了.停止响应.跟踪代码是关闭窗体时程序自动调用this.Dispose()方法出现这种现象.只打开一个MDI子窗体时,关闭没任何问题.执行this.Dispose()时也不出错,也不退出.我直接用this.Close()方法关闭窗体的.请高手分析一下下. 解决方案 解决方案二:搂主应该贴出相关代码才好解决方案三:是不是关闭的时候,触发了死循环啊解决方案四:看代码说法,否则...原因蛮多的.....可能是因为你进程太多了,引起C

MDI子窗体尺寸如何超过屏幕分辨率

问题描述 我创建了一个MDI程序,然后显示一个MDI子窗体,然后一个问题.例如在1366*768分辨率下,无法创建一个300*1024尺寸的窗体.1024高于屏幕分辨率的768.窗体倒是会显示,只是下面的部分被截断了.各位达人,有什么方式可以解决么. 解决方案 解决方案二:你自己这不是很清楚吗,尺寸比屏幕大,肯定遮住了不被遮住,就限制大小在屏幕范围内解决方案三:子窗子的大小要根据屏幕的大小改变而改变,这样才能显示出来.有获取屏幕大小的方法,可以搜一下.解决方案四:引用1楼bdmh的回复: 你自己

java,怎么删除一个文件。例如一个正在运行的jar文件,需要什么流程

问题描述 java,怎么删除一个文件.例如一个正在运行的jar文件,需要什么流程 我希望更新程序,要用新文件替换旧文件.一定要先删除旧文件吗?另,这个文件如果 在运行怎么办. 解决方案 虽然不可以删除,但是可以改名.所以你可以先将自身改名,下载新程序,启动新程序,关闭自己,新程序删除改名后的老程序. 解决方案二: 运行的文件无法删除 jar包是可以在运行后删除硬盘上的文件的,但是需要用类加载器替换类,才能使要更新的class被应用 有什么其他问题可以到易学it问答问我 解决方案三: 正在用的文件