Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2013, 18:28   #1
BrookBond
Пользователь
 
Аватар для BrookBond
 
Регистрация: 08.06.2012
Сообщений: 46
По умолчанию Отключение запоминания OpenFileDialog

Приветствую!

Использую OpenFileDialog , выбираю нужный файл. Далее в коде использую метод , в котором есть следующий код

Код HTML:
FileInfo f2 = new FileInfo("../../ForExcel/ExMaxMinT.txt");
Т.е. нужно чтобы файл ExMaxMin создался выше на две папки от места где есть .exe файл проги (папка Debug).

Но файл появляется на две папки выше от места откуда был открыт файл в OpenFileDialog, где-то сохраняется путь, хотя специально ничего для этого не делал.

Как мне от этого избавить? Думаю нужно сделать чтоб путь не запоминался.
BrookBond вне форума Ответить с цитированием
Старый 21.11.2013, 18:36   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Путь к exe-файлу можно получить так:
Код:
AppDomain.CurrentDomain.BaseDirectory;
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 21.11.2013, 20:22   #3
BrookBond
Пользователь
 
Аватар для BrookBond
 
Регистрация: 08.06.2012
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Путь к exe-файлу можно получить так:
Код:
AppDomain.CurrentDomain.BaseDirectory;
Код HTML:
openFileDialog1.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;
Применяю вот такое сравнение, но ничего не меняется! Файл создается не там где нужно. Я правильно применил Ваш код?
Как сделать чтобы OpenFileDialog не вносил никаких изменений в стандартный путь?
BrookBond вне форума Ответить с цитированием
Старый 21.11.2013, 20:39   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Диалог не вносит изменений в файлы, изменения вносит ваш код. Где он? Не вижу
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 21.11.2013, 20:48   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Как мне от этого избавить?
http://msdn.microsoft.com/en-us/libr...directory.aspx

но, закладываться на относительные пути не есть здорово
eval вне форума Ответить с цитированием
Старый 22.11.2013, 22:14   #6
BrookBond
Пользователь
 
Аватар для BrookBond
 
Регистрация: 08.06.2012
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Диалог не вносит изменений в файлы, изменения вносит ваш код. Где он? Не вижу
Вот такой код походит на то что я делаю (мой проект довольно большой) и ошибки те же
Код HTML:
namespace Пример
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            string filename;

            OpenFileDialog openFileDialog1 = new OpenFileDialog() { Filter = "Текстовые файлы(*.txt)|*.txt" };
            openFileDialog1.ShowDialog();
            filename = openFileDialog1.FileName;


            textBox1.Text = filename.Replace((Char)92, (Char)47);
            //openFileDialog1.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;
        }
       

       
        private void button2_Click(object sender, RoutedEventArgs e)
        {
            fileOpen Op = new fileOpen();
            Op.MaxMin();
        }
    }
    public class fileOpen
    {
        public  void MaxMin()
        {
            FileInfo f2 = new FileInfo("../../ExMaxMinT.txt");
            FileStream fs2 = f2.Open(FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
            StreamWriter sr2 = new StreamWriter(fs2);
            sr2.WriteLine("Вот этот ФАЙЛ был сгенерирован");
            sr2.Close();
            fs2.Close();
        }
    }
}
При нажатии на кнопку 2 появляется файл на две папки выше, чем .ехе файл проги, так и должно быть. Но если сначала нажимаю на первую кнопку, где используется OpenFileDialog, то потом при нажатии снова на вторую файл генерируется на две папки выше, чем выбранный файл в OpenFileDialog. Как от этого избавиться ?
Прикреплен проект.
Вложения
Тип файла: rar Пример.rar (49.0 Кб, 5 просмотров)
BrookBond вне форума Ответить с цитированием
Старый 22.11.2013, 22:20   #7
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Совсем бяка:
Код:
FileInfo("../../ExMaxMinT.txt");
Меньшая бяка
Код:
FileInfo(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"../../ExMaxMinT.txt"));
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 22.11.2013, 22:25   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

.



Код:
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\ExMaxMinT.txt")
.

Последний раз редактировалось eval; 22.11.2013 в 22:32.
eval вне форума Ответить с цитированием
Старый 22.11.2013, 22:30   #9
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Оба варианта работоспособны
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 22.11.2013, 22:31   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а я просто не увидел ваш, читал когда не было., а добавив свой увидел, да поздно
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenFileDialog c++ 0479 Помощь студентам 2 03.04.2011 17:33
запоминания паролей в Excel BlackPig Microsoft Office Excel 16 30.11.2010 12:16
openFileDialog Alex_sim Общие вопросы .NET 5 10.05.2010 19:56
Ваши методы запоминания синтаксиса языка DimOn4Ik Свободное общение 14 19.02.2010 01:31
openfiledialog Sergey2 Общие вопросы C/C++ 5 27.03.2009 20:16