这部分代码是通过使用textbox
将.txt
的内容保存到SaveFileDialog
文件的地方。我想做的事情(如代码中的注释中所述)是获取保存.txt
文件的完整目录,并以childMDI形式将其保存为字符串值。>
这只是为了跟踪每个childMDI关联的目录,因为它们的内容可以保存在任何地方(通过使用SaveFileDialog)。
更详细地阐述:
我有两种形式。 Form1和Form2。 Form1具有保存功能,该功能可以在Form2中获取文本框的内容并将其保存到文件中。但是,我可以创建Form2类型的多个实例。我希望能够通过保存保存txt文件时选择的目录和路径并使其与Form2的特定实例相关联来跟踪程序中这些文件的保存位置(我的想法是使用字符串“ directory”在可以存储该值的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
}
答案 0 :(得分:1)
正确,我目前在Form2(字符串目录)中将其作为属性
好的,因此,在具有“ //设置activeChild的目录”的位置,您将要广播以键入Form2 ,以便可以访问该属性:
if (this.ActiveMdiChild is Form2)
{
Form2 f2 = (Form2)this.ActiveMdiChild;
f2.Directory = System.IO.Path.GetDirectoryName(saveFileDialog1.FileName);
}
答案 1 :(得分:0)
您尝试过吗?
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
}
将this.Text = Path.GetFileName(saveFileDialog1.FileName);
和activeChild.Text = Path.GetFileNameWithoutExtension(saveFileDialog1.FileName);
放入saveFileDialog1 if语句内,以便在单击确定的对话框后,this.Text
上将具有一个新值。