У меня возникла проблема при работе с файлами. Для того что бы выбрать файл с диска использую класс
OpenFileDialog
в следующей функции:
private void bBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
LoadImage(ofd.FileName);
}
ofd.Dispose();
}
Файл-изображение открывается функцией:
protected void LoadImage(string FileName)
{
if (FileName.Length != 0)
{
Bitmap bitmap = new Bitmap(FileName);
if (MyBitmap != null)
MyBitmap.Dispose();
MyBitmap = bitmap;
Invalidate();
}
}
После открытия файла перестают корректно работать функции класса
System.IO.File
например,
File.Exists(FILE_NAME)
Если открывать файл просто через путь, то все нормально:
private void bOpen_Click(object sender, EventArgs e)
{
LoadImage(FILE_NAME);
}
Подскажите, что я делаю не так. Или лучше использовать другой класс для выбора файла?
BN>BN> protected void LoadImage(string FileName)
BN> {
BN> if (FileName.Length != 0)
BN> {
BN> Bitmap bitmap = new Bitmap(FileName);
BN> if (MyBitmap != null)
BN> MyBitmap.Dispose();
BN> MyBitmap = bitmap;
BN> Invalidate();
BN> }
BN> }
BN>
В MSDN про конструктор
public Bitmap (
string filename
)
написано (в Remarks):
The file remains locked until the Bitmap is disposed
BN> The file remains locked until the Bitmap is disposed
Некорректно работает не с именно этим файлом, а с любым.
Спрашивая о существовании какого-либо файла(он существует) до использования
OpenFileDialog
и после получаем, что до файл есть, а после нет.
Здравствуйте, BeaverNew, Вы писали:
BN>> The file remains locked until the Bitmap is disposed
BN> Некорректно работает не с именно этим файлом, а с любым.
BN> Спрашивая о существовании какого-либо файла(он существует) до использования
BN>BN>OpenFileDialog
BN>
и после получаем, что до файл есть, а после нет.
При запуске программы текущий путь устанавливается в директорию, в котрой находится эта самая программа. А вот OpenFileDialog изменяет его.
Поэтому ты не можешь найти файл с относительным путем.
Здравствуйте, BeaverNew, Вы писали:
В OpenFileDialog (в Save тоже) есть свойство "востанавливать каталог". Тоже помогает.
... << RSDN@Home 1.2.0 alpha rev. 655>>