Как выполнить функцию множественного сохранения на tabcontrol C # - PullRequest
0 голосов
/ 26 мая 2018

Я использую приложение с несколькими вкладками.Как выполнить функцию сохранения всех на всех вкладках приложения, не открывая SaveFileDialog после сохранения вкладок.Метод, показанный ниже, работает, но он открывает SaveFileDialog для всех вкладок.

string strfilename;
RichTextBox rtb = null;

private void saveAllToolStripMenuItem_Click(object sender, EventArgs e)
    {
        TabControl.TabPageCollection pages = tabControl1.TabPages;
        foreach (TabPage page in pages)
        {
            if (rtb != null)

            {

                if (saveFileDialog1.ShowDialog() == DialogResult.OK)

                    rtb.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);

            }
        }
    }

Я тоже так пробовал, но сохраняется только последняя сохраненная вкладка

  private void saveAllToolStripMenuItem_Click(object sender, EventArgs e)
    {
        TabControl.TabPageCollection pages = tabControl1.TabPages;
        foreach (TabPage page in pages)
        {
            rtb = page.Controls[0] as RichTextBox;

            if (rtb != null)

            {
                    rtb.SaveFile(strfilename, RichTextBoxStreamType.PlainText);

            }
        }
    }

Это мойиндивидуальная функция сохранения

  public void saveToolStripMenuItem_Click(object sender, EventArgs e)
    {
        SaveFileDialog sv = new SaveFileDialog();
        sv.Filter = "Text Document(*.txt)|*.txt|All Files(*.*)|*.*";
        if (sv.ShowDialog() == DialogResult.OK)
            GetRichTextBox().SaveFile(sv.FileName, RichTextBoxStreamType.PlainText);
        this.Text = sv.FileName;
        strfilename = sv.FileName;
        autosave(sv.FileName);
    }
...