Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/74: Рейтинг темы: голосов - 74, средняя оценка - 4.72
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1

Скриншот с захватом курсора

01.03.2013, 03:23. Показов 15354. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые знатоки!
Собственно вопросов как сделать скрин - нет. Но есть вопрос, как сделать, чтобы был виден текущий курсор. На форуме находил вариант, что просто взять и наложить картинку курсора по координатам..это сделал, но в итоге если он меняется к примеру на руку, стрелочки или другой... то на скрине всё равно остаётся стандартный курсор.
К примеру создатели скайпа это как то решили в демонстрации экрана..
Надеюсь что есть способ захвата
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2013, 03:23
Ответы с готовыми решениями:

Ошибка с динамическим захватом
Задача поставлена так: сформировать двумерный массив из данного одномерного, но размерности двумерного массива спросите у пользователя, а...

StringGrid скроллинг ЗАХВАТОМ
Доброе время! Есть грид со скроллбарами, потому что не помещается вся информация на экран. Как можно реализовать просмотр...

Помогите разобраться с захватом видео
Проблема такова: у меня есть простой ресивер, получающий телевизионный сигнал с параболлической антенны, как я понимаю, сигнал идет...

51
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
03.03.2013, 21:58
Студворк — интернет-сервис помощи студентам
EvilFromHell, а в чем же тогда? да и вызывать каждый раз сборщик - по скорости не лучшее решение
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
03.03.2013, 22:12
Вот эта структура требует ей явно указывать размер в байтах, а сборщик мусора ее не удалял по-хорошему. Можешь проверить-диспозить все битмапы, графиксы и тд-и прога все равно вылетит с недостатком памяти. Может можно ее по-другому как-то удалить, можно почитать, но сборщик удаляет успешно.

Добавлено через 6 минут
Точнее сейчас проверю-может я где и ошибся.
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
03.03.2013, 22:13  [ТС]
EvilFromHell можно ещё вопрос не по теме, но всё же важный..
как по вашему лучше всего организовывать передачу данный между классами..и чтоб это не противоречило ООП..
я делаю так:
В главной форме прописываю
C#
1
2
3
4
5
6
7
8
Making_PrScreen mprsc;
 
 
        public mainform()
        {
            InitializeComponent();
            mprsc = new Making_PrScreen(this);
        }
а в соответствующем классе:
C#
1
2
3
4
5
mainform mfr;
public Making_PrScreen(mainform f)
        {
            mfr = f;
        }
Что посоветуете...?

Добавлено через 1 минуту
EvilFromHell можете не проверять..вы всё правильно говорите..я уже проверял)...
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
03.03.2013, 23:11
Тут действительно странная ситуация, больше всего памяти как оказалось ел битмап, который я присваивал пикчабоксу. Если его диспозить-картинка не отображается на экране(что логично), а если нет-то он почему-то ест память. Можно диспозить его перед тем, как присвоить пикчабоксу новый кадр, но и так тоже вылетает через некоторое время(без сборщика мусора), но существенно дольше. В той структуре ли дело ,или еще в чем, я пока не понял. Буду дальше тестить, А пока проще юзать сборщик, особых тормозов он вроде не вызывает.
А на счет ООП - в ряд ли я тут что-то посоветую, я делаю всегда по-разному и зачастую плюю на ООП и его принципы, если они мне мешают и без них код проще и быстрее. В команде я ничего пока не писал, поэтому никаких искусственных соглашений мне придерживаться не нужно. Надо гуглить и выбирать лучший вариант в зависимости от конкретной ситуации. А в этом коде видно не так много
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
04.03.2013, 01:28
А пока проще юзать сборщик, особых тормозов он вроде не вызывает
ну конечно не будет вызывать,процессор же не обрабатывает одну команду раз в сек.
разному и зачастую плюю на ООП и его принципы, если они мне мешают и без них код проще и быстрее
насчет скорости - так и не понял, как ООП влияет на нее? да и насчет ООП в целом - то тоже не сторонник создавать классы, если проект небольшой, и не нужно использовать класс где то еще. но вот когда проект со временем становится все больше и больше, то сдесь лучше ООП, так как потом разбираться в коде будет все сложней. ну у меня к примеру был проект, нужно было работать с одним сайтом, отсылать и обрабатывать запросы, писать в файл и шифровать, ну и еще кое че. я вынес все это в отдельные классы, и теперь очень удобно, всегда знаешь, что где лежит, и поправить например, алгоритм шифрования можно, лишь открыв файл в строчек 30. без ООП был бы проект в строк 500, может и больше, и разбираться что где - больше времени бы заняло
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
04.03.2013, 01:33  [ТС]
тогда покажите на примере, как лучше всего организовать обмен между классами..
чтоб не противоречило ООП)))
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
04.03.2013, 01:38
bupal, Свойства (Руководство по программированию в C#)
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
04.03.2013, 02:38
ну конечно не будет вызывать,процессор же не обрабатывает одну команду раз в сек.
Сделал 2 таймера, 1 вызывается раз одну миллисекунду(в нем указанный выше код со сборщиком), второй через 10 секунд. Сборщик мусора окружил Stopwatchем, он набрал за эти 10 секунд 52 миллисекунды. По-моему вполне терпимо, тем более что освобождать память надо, и как это сделать рациональнее не ясно.
насчет скорости - так и не понял, как ООП влияет на нее? да и насчет ООП в целом - то тоже не сторонник создавать классы, если проект небольшой, и не нужно использовать класс где то еще. но вот когда проект со временем становится все больше и больше, то сдесь лучше ООП, так как потом разбираться в коде будет все сложней. ну у меня к примеру был проект, нужно было работать с одним сайтом, отсылать и обрабатывать запросы, писать в файл и шифровать, ну и еще кое че. я вынес все это в отдельные классы, и теперь очень удобно, всегда знаешь, что где лежит, и поправить например, алгоритм шифрования можно, лишь открыв файл в строчек 30. без ООП был бы проект в строк 500, может и больше, и разбираться что где - больше времени бы заняло
Очевидно, что вызвать что-то напрямую быстрее, чем через 10 посредников, кроме того в классах часто объявляются лишние переменные, делаются лишние действия, которые можно было бы не делать, объяви и сделай все без них. Понятное дело, что ,когда проэкт немаленький, удобно бывает какой-то функционал занести в класс, хорошенько отладить, и можно в него почти не заглядывать, но это надо делать в тему. На этом форуме я часто вижу случаи, когда совершенно примитивные программы умудряются так размазать по классам, методам, интерфейсам, что от одних модификаторов рябит в глазах, и вместо удобства получается один вред и нечитаемость, в то время как все можно сделать очень просто, без кучи методов, свойств и конструкторов. Не нужно никогда терять здравый смысл в угоду какой-то парадигме-вот я о чем, она выдумана для нашего удобства, а не мы для служения ей. И передачи данных это тоже касается, не нужно страдать излишней инкапсуляцией, когда , например, у тебя в проэкте 2 формы и между ними передаются какие-то данные. Кроме того, возможности для разбиения функционала на части существуют и без ООП. Может кто не согласится-но по моему опыту именно так.

Добавлено через 10 минут
Именно поэтому мне кажется сама постановка вопроса про передачу данных некорректной-надо исходить из того, что хочется получить, а не из того, что где-то написано, тогда будет ясно, как правильно.
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
04.03.2013, 02:41  [ТС]
ну я задал этот вопрос исходя из желания знать как правильно делается...
потому что в сети определённого ответа так и не нашёл..везде всё по разному
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
04.03.2013, 03:01
В общем случае-правильно так, чтобы обращаясь к классу и его объектам снаружи, никак нельзя было нарушить его внутреннюю гармонию и вызывать что-то непредвиденное, все должно быть предсказуемо и понятно не глядя на исходник. А все остальное-следствие этого.
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
04.03.2013, 03:15  [ТС]
а по коду как это сделать?...
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
04.03.2013, 03:40
Ну очевидно, что все данные, которые поступают в класс и его объекты, должны фильтроваться так, чтобы не получилось ошибок, какими бы эти данные ни были, на любые некорректные данные должны либо выбрасываться понятные исключения, либо возвращаться понятные и логичные значения. Для этого есть свойства ,приватные переменные и тд. Методы и свойства, а так же подаваемые в них переменные, должны называться так, чтобы было ясно, что именно они делают и обозначают, иначе копаться в них будет большой потерей времени. Ну и классы должны быть максимально обособлены друг от друга, не переплетаться функционалом,каждый должен делать свое дело и не лезть в чужое. Ну а все остальное легко вывести из этой логики-удобство на первом месте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2013, 03:40

Split с захватом символа разделителя
Здравствуйте. Для работы с разделителями у меня есть две опций вкючая_разделитель/не включая , но пока работает только не включая ...

Регулярное выражение: сделать текст жирным с захватом даты
Здравствуйте, форумчане. Сделал простой код, где заменяет обычный текст на жирный. Ничего сложного. Ниже пример того, что получается: ...

Как изменить цвет курсора ввода и курсора мыши в элементе Edit
Всем Здравия. Проблема в следующем, задал цвет фона и цвет текста в Edit, тут все нормально, но обнаружилось что при некоторых цветах...

Нужна недорогая плата оцифровки видео или USB устройство, только с аппаратным захватом и без твтюнера.
Подскажите уважаемые. Нужна недорогая плата оцифровки видео или USB устройство, только с аппаратным захватом и без твтюнера. У кого есть...

Поиск частей внешнего контура по четырём сторонам с "захватом"
Вот так вот чудно я назвал тему =) Всем привет. В рамках проекта нужно придумать алгоритм поиска внешних стен с заходом на соседнюю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
52
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru