Форум программистов, компьютерный форум, киберфорум
Наши страницы

C#: WPF, UWP и Silverlight

Войти
Регистрация
Восстановить пароль
 
Kadir LEE
3 / 3 / 0
Регистрация: 25.02.2017
Сообщений: 56
Завершенные тесты: 1
#1

Как работать с OpenFileDialog в WPF? - C# WPF

18.03.2018, 20:42. Просмотров 240. Ответов 10

Есть слайдшоу, где пользователь сам выбирает откуда брать картинку. Нужно 1)Проверить расширение выбранного файла, 2)Создать новый PictureBox, поместить картинку в этот PictureBox

Все, до чего я пока что дошел, это:
C#
1
2
3
4
5
6
 private void AddImageClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.ShowDialog();
            openFileDialog.Filter = "Image Files(*.png, *.jpg, *.jpeg, *.bmp, *.gif)|*.png, *.jpg, *.jpeg, *.bmp, *.gif|All files (*.*)|*.*";   
        }
Добавлено через 24 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
private void AddImageClick(object sender, RoutedEventArgs e)
        {
            Stream myStream = null;
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Image Files(*.png, *.jpg, *.jpeg, *.bmp, *.gif)|*.png, *.jpg, *.jpeg, *.bmp, *.gif|All files (*.*)|*.*";
            openFileDialog.RestoreDirectory = true;
            if (openFileDialog.ShowDialog() != null)
            {
                try
                {
                    if ((myStream = openFileDialog.OpenFile()) != null)
                    {
                        using (myStream)
                        {
                            SaveStreamToFile("c:\\" + System.IO.Path.GetFileName(openFileDialog.FileName), myStream);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
 
        public void SaveStreamToFile(string fileFullPath, Stream stream)
        {
            if (stream.Length == 0) return;
 
            using (FileStream fileStream = System.IO.File.Create(fileFullPath, (int)stream.Length))
            {
                byte[] bytesInStream = new byte[stream.Length];
                stream.Read(bytesInStream, 0, (int)bytesInStream.Length);
                fileStream.Write(bytesInStream, 0, bytesInStream.Length);
            }
        }
при приеме файла пишет отказано в доступе, в чем может быть проблема
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2018, 20:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как работать с OpenFileDialog в WPF? (C# WPF):

WPF: как загрузить картинку из OpenFileDialog? - C# WPF
точнее как сохранить выбранный файл в Image? у меня такой код... private void Button_Click(object sender, RoutedEventArgs e) {...

WPF OpenFileDialog открытие русского текста - C# WPF
При открытии файла с русским текстом ,вместо текста какие-то символы непонятные.Подскажите пожалуйста,как это исправить. private void...

Как работать с TabControl WPF(MVVM)? - C# WPF
Как работать с вложенными элементами TabControl(MVVM)? Если не сложно напишите пожалуйста XMAL код, к примеру с такой вот формой(скрин...

.NET 4.x Не понимаю как работать с ComboBox в WPF - C# WPF
Приветствую всех спецов по WPF. Я 2 года пишу на WinForms, а тут волею случая пришлось сделать небольшое приложенице на WPF. Сразу...

.NET 4.x Как правильно работать с DateTime в WPF - C# WPF
почему-то не работает не добавление даты не вычитание. Мне нужно работать с временем, с начало создать свое время потом вычитать с него...

[WPF] Как динамически создавать графические элементы и как с ними работать? - C# WPF
Здравствуйте! Я не очень понимаю как динамически в C# создавать графические элементы и как с ними работать. Статически задать в XAML...

10
Rius
Эксперт .NET
4052 / 2720 / 633
Регистрация: 25.05.2015
Сообщений: 8,513
Записей в блоге: 10
Завершенные тесты: 4
18.03.2018, 21:05 #2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
OpenFileDialog dialog = new OpenFileDialog()
            {
                CheckFileExists = false,
                CheckPathExists = true,
                Multiselect = false,
                Title = "Выберите файл"
            };
 
            if (dialog.ShowDialog() == true)
            {
                string filename = dialog.FileName;
                ...
            }
0
Kadir LEE
3 / 3 / 0
Регистрация: 25.02.2017
Сообщений: 56
Завершенные тесты: 1
18.03.2018, 22:09  [ТС] #3
Цитата Сообщение от Rius Посмотреть сообщение
string filename = dialog.FileName;
что он будет возвращать, путь?
0
Rius
Эксперт .NET
4052 / 2720 / 633
Регистрация: 25.05.2015
Сообщений: 8,513
Записей в блоге: 10
Завершенные тесты: 4
18.03.2018, 22:32 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Да.
Но вы могли бы не спрашивать, а поставить breakpoint и посмотреть значение в отладчике. Или в справке почитать.
Это быстрее форума.
1
Kadir LEE
3 / 3 / 0
Регистрация: 25.02.2017
Сообщений: 56
Завершенные тесты: 1
18.03.2018, 22:54  [ТС] #5
Rius, благодарю!
Тема закрыта.

Добавлено через 18 минут
Цитата Сообщение от Kadir LEE Посмотреть сообщение
Нужно 1)Проверить расширение выбранного файла, 2)Создать новый PictureBox, поместить картинку в этот PictureBox
!!! Тема не добита
0
Почтальон
Модератор
567 / 506 / 91
Регистрация: 22.03.2015
Сообщений: 3,553
Завершенные тесты: 1
19.03.2018, 11:45 #6
Цитата Сообщение от Kadir LEE Посмотреть сообщение
Тема не добита
Kadir LEE, вы отладчиком смотрели ?
0
Kadir LEE
3 / 3 / 0
Регистрация: 25.02.2017
Сообщений: 56
Завершенные тесты: 1
19.03.2018, 20:55  [ТС] #7
Цитата Сообщение от Почтальон Посмотреть сообщение
отладчиком смотрели
не понимаю при чем тут это, но я имел ввиду, что я не знаю как поместить кастомное изображение из FileExplorer в Image
0
Почтальон
Модератор
567 / 506 / 91
Регистрация: 22.03.2015
Сообщений: 3,553
Завершенные тесты: 1
20.03.2018, 07:24 #8
Цитата Сообщение от Kadir LEE Посмотреть сообщение
не понимаю при чем тут это
вот если бы посмотрели отладчиком, то поняли, что функция FileName возвращает полный путь к файлу. А еще если бы почитали про методы OpenFileDialog(), то, возможно, поняли бы как определить расширение выбранного файла.
0
Kadir LEE
3 / 3 / 0
Регистрация: 25.02.2017
Сообщений: 56
Завершенные тесты: 1
20.03.2018, 13:39  [ТС] #9
Цитата Сообщение от Почтальон Посмотреть сообщение
полный путь к файлу
это я уже понял,
Цитата Сообщение от Почтальон Посмотреть сообщение
почитали про методы
тогда форум вообще не нужен, можно просто копаться в докумендации чтоб найти нужный метод или свойство
0
Rius
Эксперт .NET
4052 / 2720 / 633
Регистрация: 25.05.2015
Сообщений: 8,513
Записей в блоге: 10
Завершенные тесты: 4
20.03.2018, 13:52 #10
Цитата Сообщение от Kadir LEE Посмотреть сообщение
тогда форум вообще не нужен, можно просто копаться в докумендации чтоб найти нужный метод или свойство
Форум не нужен, чтобы спросить то, что лежит на поверхности, в справке, на расстоянии одного клика мыши.
Форум для решения реальных проблем, а не чьей-то лени.
0
Kadir LEE
3 / 3 / 0
Регистрация: 25.02.2017
Сообщений: 56
Завершенные тесты: 1
20.03.2018, 15:29  [ТС] #11
Цитата Сообщение от Rius Посмотреть сообщение
на расстоянии одного клика мыши
объем информации не кликами мыши мерится, если я бы посчитал нужным я бы потратил время и посмотрел в справке, если я здесь это спросил, значит мне надо узнать что-то конкретное отсюда. Бесплатная помощь в решении задач по программированию - вот для чего создан форум, в том числе и для, как Вы сказали, реальных проблем.
0
20.03.2018, 15:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2018, 15:29
Привет! Вот еще темы с ответами:

Будет ли нормально работать WPF приложение на слабых компах? - C# WPF
Будет ли нормально работать WPF приложение на слабых компах?

.NET 4.x После подключения WPF Toolkin в проект, все, что до этого создали, перестало правильно отображаться и работать - C# WPF
После подключения WPF Toolkin в проект, все, что до этого создали, перестало правильно отображаться и работать. Т.е. Проект запускается...

Как сохранить и открыть файл в DataGrid с OpenFileDialog и SaveFileDialog - C# WPF
Не могу никак разобраться, как загружать (и сохранять) данные в DataGrid с файла, расширение которого *.scv (файл MS Exel, то есть после...

Как считать данные в TextBox из открытого файла в OpenFileDialog - C# WPF
Как считать данные в textbox из открытого файла в openfiledialog?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru