从Form1按钮保存Form2

时间:2019-08-07 22:04:28

标签: c# winforms

我目前有一个名为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上,在这里我得到一个错误,即当前方法在Form 1中不存在。由于是新手,所以我不确定如何进行操作,并且会很感激难过了一段时间。

1 个答案:

答案 0 :(得分:0)

public string TextFile是Form2的成员,当然,form1不知道。您可以尝试以下方法:

public partial class Form1 : Form
    {
        Form2 frm2;
        public Form1()
        {
            InitializeComponent();
            frm2 = new Form2();
        }

        private void ShowForm2(object sender, EventArgs e)
        {         
            frm2.Show();
        }

        private void Save(object sender, EventArgs e)
        {
            MessageBox.Show(frm2.TextFile);
        }
    }