Есть ли утилита, которая может контролировать открытые окна / в .net winforms? - PullRequest
0 голосов
/ 13 апреля 2010

Это общий вопрос, но сейчас я объясню свою конкретную потребность:

Я хочу найти базовый класс, который позволяет выбрать изображение во время разработки. Я могу найти редактор, который используется во время выполнения - это Drawing.Design.ImageEditor. Однако во время разработки появляется другой редактор, позволяющий выбрать изображение из ресурсов.

Полагаю, я мог бы запустить какую-нибудь программу, затем открыть редактор изображений из сетки свойств и посмотреть, какие новые окна / классы были созданы?

Спасибо

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

Да, вы можете увидеть, что используется, с помощью другого экземпляра Visual Studio и использовать Инструменты + Присоединить к процессу (управляемый) для просмотра стека вызовов. Это Microsoft.VisualStudio.Windows.Forms.ResourcePickerDialog. Это не то, что вы можете использовать в своем собственном коде, сборки Visual Studio не подлежат распространению. И при этом они не будут полезны, они обезьяны с состоянием проекта времени разработки.

Создание собственного не так уж и сложно, просто используйте Reflection для итерации свойств Properties.Resources и найдите те, которые имеют тип Bitmap или Icon. Отобразите их в ListView, чтобы позволить пользователю выбрать один. Добавление ресурсов во время выполнения не вариант.

1 голос
/ 13 апреля 2010

Инструментом, аналогичным функциональности, о котором вы упомянули, является Spy ++, который вы можете найти в папке Visual Studio в меню «Пуск» (в подменю Инструменты Visual Studio).

Однако, если я вас правильно понимаю, я не думаю, что редактор времени разработки, о котором вы говорите, написан в управляемом коде, и даже если это так, я вполне уверен, что он не в фреймворке. Это всего лишь часть самой Visual Studio, и, насколько я знаю, вы не можете получить исходный код для этого.

...