Оператор "==" невозможно применить к операнду типа "DialogResult" и "bool"
private string pathFile;
public Form1()
{
InitializeComponent();
}
private void CoderButton_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Всё файлы (*.*) |*.*| Файлы Shirase (*.shirase)|*.shirase";
if (openFileDialog.ShowDialog() == true)
{
pathFile = openFileDialog.FileName;
OpenFile.Text = pathFile.ToString();
DisplayFile(pathFile);
}
}
Оператор == невозможно применить к операнду типа DialogResult и bool
Как мне пофиксить?
Такой же код, но на C# WPF работает, а на Windows Form ошибка.
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
В WPF, метод Window.ShowDialog возвращает bool?
В WinForms, метод Form.ShowDialog возвращает DialogResult
Так как методы вызываются у разных классов и имеют разные типы возвращаемых значений - просто так перенести код может не получиться.
В данном случае достаточно заменить сравнение результата с true, на сравнение с нужным значением enum, например
if (openFileDialog.ShowDialog() == DialogResult.OK)