Исключение 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 { // Неподдерживаемый формат } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д