Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Новые технологии / Обои рабочего стола

  • Составляем программу - менеджер фоновых рисунков для рабочего стола.
  • Дата отправки отчёта: 27 мая 2016 г.
  • Задание выполнено: за 2 час. 08 мин.
  • Чему научился: Научился менять обои рабочего стола с помощью программки и закачивать их по ссылке с инета.
  • Что было сложным: Я запустил программку меняю картинку и черный экран. Оказывается в реестр не записывался полный путь - пришлось внести строку dir = Assembly.GetExecutingAssembly().Location.ToString().Replace("WallPaper.exe", "") + "papers\\";  Я уж думал на Win10 по другому обои организованы - слава Microsoft - ничего там трогать не стали. А дальше все пошло как по маслу.
  • Комментарии: Кстати нужно не picture.Image=null; писать,  а достаточно picture.Image.Dispose(); и будет счастье. Поэтому я не стал отказываться от превьюшной картинки. Сделал еще мелкую доработку - во время загрузки картинки сделал, чтобы появлялся WaitCursor. С моей точки зрения кнопка загрузить картинку лишняя. Хотя момент философический - мне кажется, что достаточно нажать клавишу Enter на textbox ссылки и после этого происходит загрузка.
  • Оценка видео-уроку:
Отчёт от 7119 за Новые технологии / Обои рабочего стола




Оцени работу

 
Сохранить страницу:

1. Евгений Витольдович
Евгений Витольдович
ответить
→  Новопашин Владимир  # Новые технологии / Обои рабочего стола / 2016-05-27 11:19

Да, это радует.
Но скринсейверы, походу, похерили уже.


  • Отчёт оценивали:
    4467Alcatraz+1   9288Pučko Antonina+1   1Евгений Витольдович+1   3506Алексей|BrisK|Кривицкий+1   7645Александр Львович+1   6452Lik_Kirill+1   10233Виталий+1   6203Николай (nick27m)+1   9237Mais+1   6391Владимир+1   24Оля+1   4992Николай+1   5257Антон+1   5026Екатерина+1   10008Сергей Зулкарнаев0   791Валерий+1   6458Илья+1   8886Михаил Ермишин+1   9567Максим+1   9076Андрiй0   10127димас0   8275Tekashnik+1   4004Елена+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Для меня было много нового на уроке. Но, менять обои рабочего стола я научился.
Трудности: Подсмотрел в рубрике "Вопросы и ответы" у petro_zzz как нужно правильно удалять файлы картинок: pictureBox.Image.Dispose();
Остался у меня один невыясненный вопрос: В видеокурсе переменной dir присваивалось значение "papers\\" и всё отлично работало. У меня же не работало, т.к. в реестре компьютера прописывалось papers\MyImage.jpg. И лишь когда я переменной dir присвоил значение полного пути к файлу "F:\\MyProjects\\NewTechnologies\\WallPaper\\WallPaper\\bin\\Debug\\papers\\" - всё заработало. Как так?
Научился: Управлять обоями рабочего стола, управлять файлами, создавать папки.
Трудности: Вывести обои рабочего стола (потребовалось указать полный путь)
1) При попытке установить фоновый рисунок экран закрашивался в черный цвет. В реестре путь выглядел как paper/file.jpg. Пришлось прописать полный путь следующим образом: string dir = Environment.CurrentDirectory + "\\paper\\"; Может, конечно, в уроке это место просмотрела. 2) Я не стала удалять PictureBox, а просто освободила ресурсы перед удалением файла, и все получилось: private void list_picture_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Delete) { if (list_picture.SelectedIndex < 0) return; try { picture.Image.Dispose(); // вот эта строка высвобождает ресурсы picture.Image = null; File.Delete(dir + list_picture.SelectedItem.ToString()); ReloadPictures(); } catch { } } }