четвер, 26 січня 2017 р.

Як змінити курсор у конструкторі та під час роботи програми

Сьогодні я покажу Вам, як змінити курсор, що відображається при наведенні на той чи інший графічний елемент керування. Ми створимо новий проект.

Заходимо у меню «Файл», натискаємо створити проект, вибираємо шаблон «Застосунки Windows Forms», вводимо назву проекту та натискаємо на кнопку «окей».
Натискаємо на нашу форму і переходимо до її властивостей. Нам знадобиться властивість Cursor, яка визначає тип курсора. За замовчанням при наведенні на форму відображається курсор Default у вигляді стрілки. У конструкторі ми можемо вибрати потрібний нам курсор серед тих, що наявні у системі. Усі вони вам знайомі.
За замовчанням на формі відображається саме стрілка. Курсор можна поміняти, наприклад, на руку або на будь-який інший курсор.
Тепер я покажу як взаємодіє ця властивість з іншими елементами керування. Додамо на форму текстове поле. Натиснемо на стрілочку угорі текстового поля. У цьому вікні відмітимо параметр MultiLine, щоб можна було змінити висоту текстового поля. Також перетягнемо на форму кнопку. Щоб кнопка відображалася попереду текстового поля, натискаємо на ній правою кнопкою та вибираємо «На передній план». Тепер спробуємо змінити курсор для кнопки на «No». Запустимо програму. Тепер перевіримо, чи зберігається властивість кнопки, якщо вона на текстовому полі.
А тепер дозволимо користувачу змінювати вигляд курсору під час роботи програми. Спочатку повернемо стандартний вигляд курсору. Натискаємо правою кнопкою миші по назві властивості та вибираємо «Сброс».
Саме час змінити заголовок головного вікна, щоб він відповідав можливостям програми. У властивості «текст» форми введемо Change Cursor.
Також змінимо текст на кнопці на назву курсору, що з’явиться при її натиску. Введемо AppStarting.
Давайте впевнимося, що в усіх елементів керування зараз вигляд курсору за замовчанням.
Тепер двічі натиснемо на подію «Натиск на кнопку». Оскільки ми будемо змінювати вигляд курсору, що відображається на головному вікні, введемо ключове слово «this». Ставимо крапку. Вводимо властивість «Cursor». Ставимо дорівнює. Щоб присвоїти певний вигляд курсору, необхідно звернутися до класу Cursors. Ставимо крапку. Вибираємо перший елемент зі списку – AppStarting. Ставимо крапку з комою. Тепер перевіримо програму.
Для того, щоб користувач міг зробити вигляд курсору за замовчанням, перетягнемо на форму ще одну кнопку. Тепер подивимося назву курсору, який нам потрібен. В даному випадку, Default. У властивість «Text» введемо назву курсору. Натискаємо двічі на кнопку. Знову присвоїмо властивості Cursor нашої форми курсор із колекції Cursors. Ставимо крапку з комою. Перевіряємо.
Виконаємо аналогічні дії стільки разів, скільки виглядів курсору має бути доступно для користувача даної програми.
Зверніть увагу, що змінюється вигляд курсору лише для головного вікна і лише там, де немає іншого графічного елементу керування.

При наведенні курсору на текстове поле, бачимо, що вигляд курсору завжди є стандартним для текстового поля.
Щоб курсори були однаковими, додамо на форму ще одну кнопку. Введемо у властивість «Text» цієї кнопки «TextBox Cursor». Натискаємо двічі на кнопку. Щоб змінити курсор текстового поля, введемо його назву. Пишемо textBox1.Cursor =. Присвоїмо курсор головного вікна. Ключове слово this.Cursor;. Перевіримо.
Тепер дозволимо користувачу при натиску тієї ж кнопки змінити вигляд курсору на той, що є стандартним для текстового поля. За допомогою оператора if поставимо умову: if(textBox1.Cursor == this.Cursor). Ми пишемо, що якщо курсори у текстового поля і головного вікна однакові, то курсор текстового поля стане стандартним. Вводимо textBox1.CursorCursors.IBeam; Ми використали цей курсор, оскільки він є стандартним для текстового поля.
Нижче запишемо, що, якщо курсори різні, то у текстового поля курсор стане ідентичним до того, який у головного вікна. Використаємо оператор else.

Як бачимо, усе працює правильно. Тепер, для того, щоб користувачу не потрібно було натискати на кнопку, аби перевірити, як буде виглядати курсор, змінимо вигляд курсору при наведенні на кожну із кнопок. Для кожної із кнопок вигляд курсору буде відповідати тому, що на ній написано. Змінимо властивість Cursor кожної кнопки, окрім TextBox Cursor.

Я дякую Вам за увагу, шановні глядачі!

Немає коментарів:

Дописати коментар