【发布时间】:2018-11-24 23:00:06
【问题描述】:
这段代码是我通过使用SaveFileDialog 将textbox 的内容保存到.txt 文件的地方。我想做的(如代码中的注释中所述)是获取保存.txt 文件的完整目录,并将其保存为childMDI表单中的字符串值。
这只是为了跟踪每个 childMDI 与哪个目录关联,因为它们的内容可以保存在任何地方(鉴于使用 SaveFileDialog)。
更具体地阐述:
我有两种形式。表格 1 和表格 2。 Form1 有一个保存功能,它获取 Form2 中文本框的内容并将其保存到文件中。但是,我可以创建 Form2 类型的多个实例。我希望能够通过保存保存 txt 文件时选择的目录和路径并将其与 Form2 的特定实例相关联来跟踪这些文件在程序中的保存位置(我的想法是有一个字符串“目录”在可以存储此值的 Form2 中)。我知道如何将目录作为字符串获取,只是不知道如何将其从 Form1 传递到 Form2。
Form activeChild = this.ActiveMdiChild;
TextBox txtBox = (TextBox)activeChild.ActiveControl;
if (activeChild.Text == "untitled")
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt";
saveFileDialog1.Title = "Save your Text File";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
using (StreamWriter writeFile = new StreamWriter(saveFileDialog1.FileName))
{
writeFile.Write(txtBox.Text);
writeFile.Close();
}
}
this.Text = Path.GetFileName(saveFileDialog1.FileName);
activeChild.Text = Path.GetFileNameWithoutExtension(saveFileDialog1.FileName);
// set directory of activeChild
}
【问题讨论】:
-
不清楚你的问题是什么。考虑解释为什么你目前正在做的事情不起作用。
-
我有两个表格。表格 1 和表格 2。 Form1 有一个保存功能,它获取 Form2 中文本框的内容并将其保存到文件中。但是,我可以创建 Form2 类型的多个实例。我希望能够通过保存保存txt文件时选择的目录和路径并将其与Form2的特定实例相关联来跟踪这些文件在程序中的保存位置(我的想法是有一个
string“目录”在 Form2 中可以存储此值的位置)。我知道如何将目录作为字符串获取,我只是不知道如何将其从 Form1 传递到 Form2。 -
form2 的公共属性或构造函数参数,取决于没有它(属性)或没有它(构造函数)的 form2 是否有用
-
对,我目前将它作为 Form2 (字符串目录)中的一个属性,但我只是在努力从 Form1 发送它的值(我假设我会努力将它从 Form2 传递回Form1,如果我需要访问它)。老实说,我觉得我以前也这样做过,但我在网上找不到任何信息来记忆。
标签: c# visual-studio winforms mdi