Как изменить позицию курсора на C#


В этой заметке мы научимся изменять позицию курсора на экране на C# и поближе познакомимся с бесплатной средой разработки на этом языке – SharpDevelop.

Итак, нам требуется с помощью программы менять координаты указателя мыши (курсора) на экране нашего компьютера. На самом деле это просто. В среде SharpDevelop выбираем «Файл» - «Создать» - «Проект…» - здесь можно выбрать тип создаваемого проекта. Для своей программы «Бегающий курсор» я выбрал «Приложение NotifyIcon» - получается проект, который автоматически создает программу со значком в области уведомлений на панели задач:



Как видите, здесь же вы можете выбрать версию .NET Framework. Хочу обратить ваше внимание, что SharpDevelop 5.1 не всегда корректно работает с преобразованием проекта для снижения версии Framework. То есть, если вы изначально задали целевую версию Framework, к примеру, 2.0 и хотите преобразовать в 4.5, то в большинстве случаев это не вызовет никаких проблем:



А вот обратная процедура, несмотря на то, что SharpDevelop, в отличие от Visual Studio, обновит все ссылки, может вызвать ошибку. Например, такую:



В этом случае лучше создать новый проект с необходимой версией 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 мы определяем размер экрана пользователя, в шестой строке задаем бесконечный цикл, в седьмой устанавливаем курсор в случайное место экрана, а в восьмой заставляем компьютер уснуть на три десятых секунды. В результате после запуска указатель мыши будет хаотично бегать по экрану.

Как видите, все предельно просто. В следующих заметках мы продолжим работать с курсором, в частности, научимся задавать для него собственную картинку.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, SharpDevelop, си шарп, курсор, NotifyIcon




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Мотивирующая книга о побеге и не только
Plug-and-Play
Java и реестр Windows