SaveFileDialog Элемент Menuclick не работает. - PullRequest
0 голосов
/ 30 июля 2011

Если я установлю путь = "C:\\MSREAD.txt"; и нажму на пункт меню SaveAs, он сохранит текстовый файл, но если я не дам путь к строке и не сохраню его из saveFD.FileName, он не будет работать. Пожалуйста, помогите мне с этой проблемой. Большое спасибо

public void SaveToFile()
{
    String SavedFile = "";
    saveFD.InitialDirectory = @"C:";
    saveFD.Title = "Save a Text File";
    saveFD.FileName = "";
    RichTextBox richTextBox1 = new RichTextBox();

    saveFD.Filter = "Text Files|*.txt|All Files|*.*";
    try
    {
        if (saveFD.ShowDialog() != DialogResult.Cancel)
        {
            SavedFile = saveFD.FileName;
            path = SavedFile.ToString();
            //path = "C:\\MSREAD.txt";                   
            MessageBox.Show(path);
            richTextBox1.SaveFile(path, RichTextBoxStreamType.PlainText);
            SaveMyTextBoxContents(path);
        }
    }
    catch(Exception e)
    {
     MessageBox.Show(e.ToString());
    }
}

private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
{
    SaveToFile();
}

public void SaveMyTextBoxContents(string path)
{
    if (listBoxItems.SelectedIndex == -1)
    {
        if (rdBtnSlow.Checked && rdBtnNo.Checked)
        {
            using (StreamWriter outputFile = new StreamWriter(path))
            {
                foreach (string item in listBoxItems.Items)
                {
                    saveAllText = slowNo + " " + item;
                    outputFile.WriteLine(saveAllText);
                }
            }
        }
    }
}

1 Ответ

0 голосов
/ 30 июля 2011

Вот ваша проблема:

richTextBox1.SaveFile(path, RichTextBoxStreamType.PlainText);
SaveMyTextBoxContents(path);

Сначала вы сохраняете текст richTextBox в файл, но затем перезаписываете тот же файл с помощью SaveMyTextBoxContents, однако файл пустиз-за SaveMyTextBoxContents метод сохранит что-то только в том случае, если выполняются некоторые условия: «не выбран элемент и установлены оба флажка», а listBoxItems.Items.Count> 0, что, по-видимому, не так

...