Исключение Argument Exception - C#
Формулировка задачи:
Программа должна открывать txt, rtf, файлы без расширения и файлы с созданным мною расширением, ( что-то вроде (.lala) ).
Но фильтры я выставил так, что видно все файлы абсолютно, и можно, допустим, легко тыкнуть по .exe или .psd или .jpeg и выйдет ошибка "Вызвано исключение: "System.ArgumentException" в System.Windows.Forms.dll"
Как лечить господа? Дело чрезвычайной важности.
зы. ругается на строчку , естественно, из-за третьего фильтра. Засунул первый и третий в кучу, потому что иначе .rtf открывается неправильно.
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
openFileDialog1.Filter = "RTF файлы (*.rtf)|*.rtf|TXT файлы (*.txt)|*.txt|Все файлы (*.*)|*.*";
openFileDialog1.Title = "Открыть документ";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (openFileDialog1.FilterIndex == 1 | openFileDialog1.FilterIndex == 3)
richTextBox1.LoadFile(openFileDialog1.FileName);
else
{
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
}
}richTextBox1.LoadFile(openFileDialog1.FileName);
Try catch я орудую неумело, вроде как он нужен, но пробовал - не вышло.
Решение задачи: «Исключение Argument Exception»
textual
Листинг программы
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string ext = Path.GetExtension(openFileDialog1.FileName);
if (".txt".Equals(ext, StringComparison.OrdinalIgnoreCase))
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
else if (".rtf".Equals(ext, StringComparison.OrdinalIgnoreCase))
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText);
else
{
// Неподдерживаемый формат
}
}