【发布时间】:2019-08-07 22:04:28
【问题描述】:
我目前有一个名为 form1 的表单,它允许我创建另一个名为 form2 的表单,form2 有一个可以输入文本的文本框。在 form1 上,我有一个保存按钮,可以将 form2 中的文本保存为 .txt 文件。我目前在我的最后一个步骤中遇到问题,我当前的方法不存在,我不确定如何在不弄乱其他任何东西的情况下解决这个问题。
目前我已经为我的按钮完成了以下代码,所以我可以保存
private void bmSaveAs_Click(object sender, EventArgs e)
{
SaveFileDialog saveText = new SaveFileDialog();
saveText.InitialDirectory = @"C:\";
saveText.Filter = "TXT Files(*.txt;)|*.txt;";
if (saveText.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
using (StreamWriter write = new StreamWriter(File.Create(saveText.FileName)))
write.Write(TextFile);
}
}
现在在我的第二个表单(form2)下我只有以下代码
public partial class TextDocumentForm : Form
{
public TextDocumentForm()
{
InitializeComponent();
}
public string TextFile
{
get { return tbTextDoc.Text; }
set { tbTextDoc.Text = value; }
}
}
我当前的问题在于我的public string TextFile,我收到错误,即当前方法在表格 1 中不存在。作为一个相当新的人,我不确定如何继续,并且会感谢任何帮助,因为我被难住了暂时这样。
【问题讨论】:
-
您需要一个 form2 的实例来调用从中获取 TextFile 属性。你在哪里创建form2?如果您在 form1 的成员函数中执行此操作,您可以将 form2 的引用存储在 form1 的成员变量中,然后在您的另存为单击处理程序中执行 write.Write(form2.TextFile)
-
Form2 现在是从 form1 按钮创建的(我使用的是 MDI,所以它被创建为子窗体。)。我已经尝试了几个步骤,但我仍然迷路了。