实现一个mdi多窗体tex文件 打开及保存的问题。(希望各位高手帮忙解答 谢谢~)
实现一个mdi多窗体打开及保存的问题。首先有一个主窗体 菜单第一项 文件- 下设“打开” “保存”2个选项。
可以在主窗体中 连续打开本地多个 TXT 文件(副窗体) 查看。(其中有子窗体布局功能(层叠,纵向,横向))
现在想实现:假设 打开C盘下的 3个 TXT文件 ,鼠标点击其中的一个 TXT文件(激活) 然后点击主窗体 菜单-“保存”选项 把当前处于激活窗台的副窗体中的TXT文件另存为自己想要保存的地方。
打开文件的功能已经完成,可是保存的功能不懂怎么编写,请各位高手帮忙提出完整的代码 谢谢了~
-------------------------------------------------------------------------------------------------------------------------------------
主窗体代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 多功能窗体
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void ShowTxtBox(string strl)
{
Form2 f2 = new Form2(strl);
f2.MdiParent = this;
f2.Show();
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "txt files(*.txt)|*.txt|All files(*.*)|*.*";
DialogResult dr = open.ShowDialog();
if (dr == DialogResult.OK)
{
ShowTxtBox(open.FileName);
}
}
private void 纵向平铺ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileVertical);
}
private void 横向平铺ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileHorizontal);
}
private void 层叠显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.Cascade);
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog save = new SaveFileDialog();
savefile(save.FileName);
}
}
}
副窗体代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 多功能窗体
{
public partial class Form2 : Form
{
private string strl = "";
/// <summary>
///
/// </summary>
/// <param name="strl">文本文件路径</param>
public Form2(string strl)
{
InitializeComponent();
this.strl = strl;
}
public void Form2_Load(object sender, EventArgs e)
{
FileStream fs = null;
StreamReader sr = null;
try
{
fs = new FileStream(strl, FileMode.Open);
sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"));
StringBuilder sb = new StringBuilder();
string strline = sr.ReadLine();
while (strline != null)
{
sb.Append(strline);
strline = sr.ReadLine();
}
this.textBox1.Text = sb.ToString();
}
catch (IOException e1)
{
MessageBox.Show(e1.ToString());
}
finally
{
if (sr != null) sr.Close();
if (fs != null) fs.Close();
}
}
}
}
补充:.NET技术 , C#