Как изменить позицию курсора на C#
В этой заметке мы научимся изменять позицию курсора на экране на C# и поближе познакомимся с бесплатной средой разработки на этом языке – SharpDevelop.
Итак, нам требуется с помощью программы менять координаты указателя мыши (курсора) на экране нашего компьютера. На самом деле это просто. В среде SharpDevelop выбираем «Файл» - «Создать» - «Проект…» - здесь можно выбрать тип создаваемого проекта. Для своей программы «Бегающий курсор» я выбрал «Приложение NotifyIcon» - получается проект, который автоматически создает программу со значком в области уведомлений на панели задач:
![](img/art247-1.png)
Как видите, здесь же вы можете выбрать версию .NET Framework. Хочу обратить ваше внимание, что SharpDevelop 5.1 не всегда корректно работает с преобразованием проекта для снижения версии Framework. То есть, если вы изначально задали целевую версию Framework, к примеру, 2.0 и хотите преобразовать в 4.5, то в большинстве случаев это не вызовет никаких проблем:
![](img/art247-2.png)
А вот обратная процедура, несмотря на то, что SharpDevelop, в отличие от Visual Studio, обновит все ссылки, может вызвать ошибку. Например, такую:
![](img/art247-3.png)
В этом случае лучше создать новый проект с необходимой версией Framework, а не преобразовывать существующий. Однако, мы отвлеклись. Итак, мы создали проект со значком в трее. В появившемся листинге нам интересны два момента. Первый – это метод InitializeMenu():
private MenuItem[] InitializeMenu() { MenuItem[] menu = new MenuItem[] { new MenuItem("Запустить!", menuRunClick), new MenuItem("О программе", menuAboutClick), new MenuItem("Выход", menuExitClick) }; return menu; }В этом методе мы добавляем в контекстное меню значка в трее нашей программы пункты. Задаем название их и обработчик. А второй момент это другой метод:
private void menuRunClick(object sender, EventArgs e) { Random rnd = new Random(); int y = SystemInformation.PrimaryMonitorSize.Height; int x = SystemInformation.PrimaryMonitorSize.Width; while (true) { Cursor.Position = new System.Drawing.Point(rnd.Next(0, x), rnd.Next(0, y)); System.Threading.Thread.Sleep(300); } }Здесь в строках 4-5 мы определяем размер экрана пользователя, в шестой строке задаем бесконечный цикл, в седьмой устанавливаем курсор в случайное место экрана, а в восьмой заставляем компьютер уснуть на три десятых секунды. В результате после запуска указатель мыши будет хаотично бегать по экрану.
Как видите, все предельно просто. В следующих заметках мы продолжим работать с курсором, в частности, научимся задавать для него собственную картинку.
![](https://upread.ru/img/pret11.jpg)
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
![теги](https://upread.ru/img/tag-309129_640.png)
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.