Моя жена жалуется, что у меня слишком много значков на рабочем столе Windows XP-Pro.
Мне нравится иметь возможность быстро перетаскивать файл на значок приложения, которое я хочу открыть. И мне нравится переходить по ссылке, чтобы открывать часто используемые глубоко вложенные папки, а не переходить туда. Таким образом, у меня на рабочем столе более 100 иконок.
(У нас одна и та же учетная запись пользователя, потому что мы часто переключаемся туда-сюда и потому что нам обоим нужен доступ к одной и той же электронной почте, поэтому отдельные учетные записи не являются решением.)
Я хотел бы написать программу, которая имела бы функции, аналогичные рабочему столу Windows. Тогда я мог бы открыть это окно, чтобы выполнить операцию перетаскивания, но, когда его свернули, экран рабочего стола оставался бы малопопулярным для моей жены. В качестве дополнительного бонуса я мог бы реализовать лучшую организацию иконок, чем позволяет рабочий стол.
Это похоже на то, что делает окно проводника, за исключением того, что на рабочем столе можно расположить значки. (Например, значки программ слева (наиболее часто используемые находятся вверху), папки вверху, файлы данных справа.)
Как получить значок для отображения в форме Windows (или в соответствующем элементе управления в форме)? (Например, если я добавлю ссылку на Блокнот или ссылку на папку с файлом.)
Как выполнить те же действия, что и на рабочем столе, если дважды щелкнуть значок? (Например, если дважды щелкнуть ссылку на папку.)
Как выполнить те же действия, что и на рабочем столе, если на значок что-то перетащено? (Например, текстовый файл перетаскивается на значок «Блокнот».)
Я использую Visual Studio и C # .NET для программирования.
Я знаю, как выполнять простое перетаскивание.
Я не знаю:
A. какие элементы управления использовать в форме для отображения значков
Б. как найти иконку
C. какие команды создаются рабочим столом в различных ситуациях (чтобы я мог эмулировать функциональность)
Я прошу прощения за то, что это вопрос, состоящий из нескольких частей, но его было трудно разорвать, не объяснив всю историю снова.