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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 18:19   #1
DronLee
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 39
Восклицание При вызове FileDialog не надо отображать диск А

Мне надо зделать так, чтобы при вызове SaveFileDialog в открывшемся диалоговом окне, не было видно диска A. Не запретить доступ, а именно не отображать его. Целый день думаю, не знаю как это сделатьПодскажите что-нибудь.
DronLee вне форума Ответить с цитированием
Старый 08.12.2009, 18:26   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Скорее всего никак или пиши свой компонент, наследованный от SaveFileDialog и переопределяй метод получения дисков, если его можно перекрыть.
Hollander вне форума Ответить с цитированием
Старый 09.12.2009, 10:12   #3
DronLee
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 39
По умолчанию

А где можно посмотреть код методов класса FileDialog? В MSDN, я так понял, этого нет.
DronLee вне форума Ответить с цитированием
Старый 09.12.2009, 11:40   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Попробуй достать Reflector'ом. Скачай эту прогу, при запуске она загрузит библиотеки из твоего Framework'a. Поиском найдешь то, что надо.
Hollander вне форума Ответить с цитированием
Старый 10.12.2009, 12:00   #5
DronLee
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 39
По умолчанию

Вопрос немного в сторону. У SaveFileDialog есть свойство InitialDirectory, которое задает папку, содержимое которой будет представлено при его вызове. Как там задать "Мой компьютер", чтобы пользователю были представлены все диски?
Такая вещь: Environment.GetFolderPath(Environme nt.SpecialFolder.MyComputer);
возвращает пустую строчку, которую SaveFileDialog никак не воспринимает и открывает последнюю используемую папку.
DronLee вне форума Ответить с цитированием
Старый 10.12.2009, 12:13   #6
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Мой компьютер это не физическая папка на диске, поэтому к ней надо обращаться по Id, которые определен по умолчанию.
Вот некоторые из них:
MyComputer - ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
MyDocuments - ::{450D8FBA-AD25-11D0-98A8-0800361B1103}
MyNetworkPlaces - ::{208D2C60-3AEA-1069-A2D7-08002B30309D}
Printers - ::{2227A280-3AEA-1069-A2DE-08002B30309D}
RecycleBin = ::{645FF040-5081-101B-9F08-00AA002F954E}

Т.е. тебе надо
Код:
saveFileDialog1.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
Проверял на XP Eng - все гуд.
Hollander вне форума Ответить с цитированием
Старый 10.12.2009, 22:24   #7
DronLee
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 39
По умолчанию

Спасибо, помогло.
DronLee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка сегментации при вызове system("PAUSE") Lavisa Помощь студентам 0 29.07.2009 17:43
потеря параметров при вызове формы из dll... Roof Общие вопросы Delphi 4 22.08.2008 22:08
Connection timed out при вызове IdSMTP1.Connect(10000); dimon000 Работа с сетью в Delphi 3 11.01.2008 22:49
адрес не активной ячейки при вызове функции skachkovgd Microsoft Office Excel 4 06.12.2007 09:50