2013-07-08 3 views
0

Я делаю trakbar с изображением в pictureBox. Нажимая на этот трек-лист, должна быть черная вертикальная линия. Но есть проблема, показанная ниже.Использование PictureBox как TrackBar в C#

http://j1307.hizliresim.com/1c/8/q0rh1.png

+0

Попробуйте запустить программу с правами администратора и посмотреть, если ошибка возникает снова. Проблема в том, что C: \ записывается только с правами администратора. – jAC

+0

Проблема возникает снова ... я меняю C: \ с D: \, но проблема возникает ... – sudu

+0

Попробуйте изменить файл system.drawing.image.from в файл system.drawing.bitmap.from, если это возможно. В противном случае добавьте imageformat.bmp в качестве второго аргумента в метод сохранения ошибок. – Pharap

ответ

1

Ваша проблема заключается в том, что обуви Хорнинг Задан в строку не даст вам поддерживаемую имя файла изображения для сохранения.

В качестве примера:

String fileName = "C:\\" + DateTime.Now + ".bmp"; 
File.Create(fileName); 

выдаст ошибку, потому что fileName дает вам путь C:\08/07/2013 12:41:39.bmp - который не является действительным путем к файлу.

Чтобы исправить это, вы бы форматировать DateTime микстуру вашей строки к чему-то более приятным, как

String formattedDateTime = DateTime.Now.ToString("s").Replace(":","-"); 
String fileName = String.Format(@"C:\{0}.bmp", formattedDateTime); 
File.Create(fileName); 

Это даст вам имя файла, как C:\2013-07-08T12-48-57.bmp, который будет не только сохранить, но является своего рода-состоянии, а также.

Итак, наконец, применить это к вашему коду, вы бы использовать

String formattedDateTime = DateTime.Now.ToString("s").Replace(":","-") ; 
String fileName = String.Format(@"C:\{0}.bmp", formattedDateTime); 
img.Save(fileName); 
+0

Спасибо большое :) Это работает. – sudu

Смежные вопросы