Прямоугольник на прозрачной форме или прямо на экране
Пишу приложение на c# для захвата скриншота с рабочего стола. Понадобилось добавить возможность делать скриншот области рабочего стола. Для этого необходимо создать прямоугольное выделение такого плана:
Прямоугольник, залитый цветом, желательно с возможностью изменения размеров и перемещением.
Проблема: если в качестве прямоугольника создать форму с скрытыми границами и элементами управления то перемещение и изменение размеров я сделать могу, правда через задницу, но не знаю как при этом заблокировать доступ к рабочему столу вне прямоугольника. Если же создать сначала форму и развернуть её на весь экран а уже на ней рисовать прямоугольник то всё тормозит и сильно мерцает при изменении размеров и перемещении прямоугольника, к тому же у меня не получается сделать форму прозрачной так, чтобы прямоугольник оставался при этом видимым.
Очень нужна помощь!
Ещё раз что хочется:
1. Прямоугольное выделение
2. Создать выделение в стиле обычного windows выделения — щелкнули мышкой в нужной области, потянули мышку — создался прямоугольник, отпустили мышку — прямоугольник остался.
3. Рабочий стол вокруг прямоугольника должен быть недоступен, пока программа не сделает скрин.
4. В идеале фон вокруг прямоугольника сделать затененным а сам прямоугольник — прозрачной областью в затенении.
Плиз плиз плиз, мучаюсь 8 часов. На c# пишу ~20 часов =(
Чтение манов и гуглеж в рунете и буржунете не очень помог.
Прямоугольник, залитый цветом, желательно с возможностью изменения размеров и перемещением.
Проблема: если в качестве прямоугольника создать форму с скрытыми границами и элементами управления то перемещение и изменение размеров я сделать могу, правда через задницу, но не знаю как при этом заблокировать доступ к рабочему столу вне прямоугольника. Если же создать сначала форму и развернуть её на весь экран а уже на ней рисовать прямоугольник то всё тормозит и сильно мерцает при изменении размеров и перемещении прямоугольника, к тому же у меня не получается сделать форму прозрачной так, чтобы прямоугольник оставался при этом видимым.
Очень нужна помощь!
Ещё раз что хочется:
1. Прямоугольное выделение
2. Создать выделение в стиле обычного windows выделения — щелкнули мышкой в нужной области, потянули мышку — создался прямоугольник, отпустили мышку — прямоугольник остался.
3. Рабочий стол вокруг прямоугольника должен быть недоступен, пока программа не сделает скрин.
4. В идеале фон вокруг прямоугольника сделать затененным а сам прямоугольник — прозрачной областью в затенении.
Плиз плиз плиз, мучаюсь 8 часов. На c# пишу ~20 часов =(
Чтение манов и гуглеж в рунете и буржунете не очень помог.