.
Visual C# для чайников. Урок 15. Работа с курсорами
Автор megabax   
17.06.2012 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

Visual C# для чайников. Урок 15. Работа с курсорами

Это последний урок из серии "C# для чайников", публикуемый в бесплатном разделе. Начиная со следующего, публикация уроков будет продолжена в платном разделе. В бесплатном же разделе будут публиковать некоторые статьи, посвященные методике программирования на C#.

Исходники к уроку можно скачать здесь.

Сегодня мы научимся работать с курсорами мышки. И так, кладем на форму кнопочку:

isual C# для чайников. Урок 15. Работа с курсорами

Добавим к классу основной формы программы список строк и курсоров, а так же в конструктор класса формы внесем код инициализации списков:

    public partial class Form1 : Form

    {

        private List<string> str = new List<string>(30);

        private List<Cursor> cur = new List<Cursor>(30);

        public Form1()

        {

            InitializeComponent();

            foreach (System.Reflection.PropertyInfo pi in typeof(Cursors).GetProperties())

            {

                str.Add(pi.Name);

                cur.Add((Cursor)pi.GetValue(null, null));

            }

            button1.Tag = str.IndexOf("Default");

        }

 

...

И так, тут мы знакомимся со следующими классами C#:

  • List - представляет собой список элементов. Туда можно элементы добавлять, удалять, находить, перебирать в цикле foreach и обращаться по индексу. Список может быть типизированный, если после List идет тип в <>, то элементы списка могут быть только этого типа. В данной примере объявлено два типизированного списка - для строк и для курсоров.

  • Cursor - класс для работы курсором мыши. У разных объектов есть свойство Cursor, имеющее данный тип. Присвоив этому свойству новое значение мы меняем у него курсор.

Что бы продемонстрировать эти возможности класса Cursor, напишем обработчик события MouseDown для кнопочки:

        private void button1_MouseDown(object sender, MouseEventArgs e)

        {

            int k =(int) button1.Tag;

            int c = str.Count;

            switch(e.Button)

            {

                case MouseButtons.Left:

                    k=(k+1)%c;break;

                case MouseButtons.Right:

                    k=(k-1+c)%c;break;

            }

            button1.Text=str[k];

            button1.Cursor=cur[k];

            button1.Tag=k;

        }

В зависимости от того, какая кнопка нажата, левая или права, мы увеличиваем или уменьшаем текущий индекс курсора и сохраняем его в свойстве Tag кнопочки. Так же мы меняем сам курсор кнопочки и ее надпись.

Если вы запустите программу, то увидите, что при нажатии на мышку, когда курсор над кнопочкой, меняется вид крусора т надпись на кнопочке (она обозначает название курсора).


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


 

 

(С) Шуравин Александр

 

Последнее обновление ( 15.02.2014 г. )