Прокручивание формы
Прокручивание формы
Если форма не умещается на экране целиком, то пользователь может прокрутить ее стилусом с помощью полос прокрутки. Особенно это полезно, если учесть, что .NET Compact Framework 2.0 теперь поддерживает свойство AutoScroll. Но смартфоны не имеют сенсорного экрана, реагирующего на стилус. Для прокрутки формы надо искать другой вариант.
Например, можно воспользоваться обработкой события KeyDown. В тестовом проекте надо растянуть форму так, чтобы нижнюю часть не было видно на экране смартфона. На форме надо разместить несколько надписей, причем одна из них должна располагаться в нижней части формы. Для свойства формы AutoScroll надо задать значение True. В листинге 9.5 приведен пример кода для прокрутки формы.
Листинг 9.5
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if ((e.KeyCode == System.Windows.Forms.Keys.Up)) {
// Up
this.AutoScrollPosition =
new Point(-this.AutoScrollPosition.X, -this.AutoScrollPosition.Y - 16);
}
if ((e.KeyCode == System.Windows.Forms.Keys.Down)) {
// Down
this.AutoScrollPosition =
new Point(-this.AutoScrollPosition.X, -this.AutoScrollPosition.Y + 16);
}
if ((e.KeyCode == System.Windows.Forms.Keys.Left)) {
// Left
this.AutoScrollPosition =
new Point(-this.AutoScrollPosition.X - 16, -this.AutoScrollPosition.Y);
}
if ((e.KeyCode == System.Windows.Forms.Keys.Right)) {
// Right
this.AutoScrollPosition =
new Point(-this.AutoScrollPosition.X + 16, -this.AutoScrollPosition.Y);
}
}
После запуска приложения можно нажимать на клавиши навигации. Написанный код позволит прокручивать форму в выбранном направлении. Но здесь нас подстерегает одна опасность. Код будет работать лишь тогда, когда форма имеет фокус. Если форма содержит элементы управления, то фокус может находиться у данного элемента. И тогда нажатия на клавиши навигации не принесут желаемого результата. Это ограничение легко обходится добавлением соответствующего обработчика события, как показано в листинге 9.6.
Листинг 9.6
private void Form1_Load(object sender, EventArgs e) {
pictureBox1.Focus();
this.pictureBox1.KeyDown += new KeyEventHandler(Form1_KeyDown);
}
Теперь, даже если фокус находится не у формы, пользователь все равно сможет прокручивать форму при помощи клавиш навигации.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
4. Веб-формы 2.0
4. Веб-формы 2.0 Когда в веб-браузерах появился JavaScript, его немедленно стали использовать для двух задач: изменения картинки при наведении мышью и улучшения форм. Когда же в CSS появился псевдокласс :hover, веб-разработчикам перестало быть нужным использовать JavaScript для того,
Формы
Формы Иногда данных у нас нет. Совсем! Но мы знаем, как их получить, – о них нужно просто спросить у людей. Они сами с удовольствием дадут нам всю необходимую информацию. Думаю, становится понятно, что речь идет о всевозможного рода опросах и анкетах. Куда поехать на
Формы
Формы В любую форму, будь то форма заказа или регистрации нового пользователя, необходимо включить самые необходимые поля. При этом нельзя допускать, чтобы пользователь потерял интерес к покупке и не заполнил форму до конца. Вот вам подходящий пример: Чем сложнее форма,
Печать формы
Печать формы Форма, как и любой другой документ, может быть выведена на печать. Сначала необходимо подготовить форму к печати.1. Откройте учебную базу данных Отдел продаж .2. В области переходов дважды щелкните кнопкой мыши на названии формы Основная форма Клиенты , чтобы
Создание формы
Создание формы Для создания новой формы VBA выберите Insert=UserForm из меню редактора Visual Basic или из контекстного меню (вызываемого щелчком правой кнопки мыши) в окне проводника проектов. Новая форма (точнее, заготовка новой формы) появится в специально созданном для нее окне, а
Разработка формы
Разработка формы Создайте новый проект Delphi. Первым делом разработаем интерфейс программы. Изменим некоторые свойства главной формы. Прежде всего, присвойте соответствующее значение свойству Caption (заголовок формы) — например, Работа с файлами. Поскольку окно нашей
Разработка формы
Разработка формы Создадим новый проект Delphi и разработаем интерфейс программы. Измените значение свойства Caption главной формы на Статистика. Разместите на форме компонент Label категории Standard, и присвойте его свойствам значения согласно табл. 3.1.Таблица 3.1. Свойства
Разработка формы
Разработка формы Создайте новый проект Delphi и измените заголовок формы (свойство Caption) на Screenshot. Чтобы пользователь не мог изменять размеры окна при работе с программой, следует присвоить свойству BorderStyle значение bsDialog. Для удобства создания копий экрана окно программы
Разработка формы
Разработка формы Создайте новый проект Delphi и присвойте свойству Caption (заголовок) формы значение Игра. Угадывание чисел. Вверху формы будут расположены элементы управления для настройки диапазона угадываемых чисел. Разместим на форме три компонента Label (метки) категории
Разработка формы
Разработка формы Создайте новый проект Delphi. Присвойте свойству Caption формы значение Tester, а свойству BorderStyle — bsNone. У верхнего края формы разместите компонент Label категории Standard, присвоив его свойству Caption значение Первый вопрос:.Ниже разместите компонент Memo категории Standard, с
Разработка формы
Разработка формы Создайте новый проект Delphi. Для того чтобы выполнять периодические действия, нам понадобится компонент Timer категории System. Программа будет выполнять каждую минуту случайно выбранную шутку. Для того чтобы таймер срабатывал каждую минуту, необходимо
Разработка формы
Разработка формы Создайте новый проект Delphi. Присвойте свойству Caption формы заголовок Remote Mouse. Разместите на форме компонент Label категории Standard и присвойте его свойству Caption значение Port. Справа от этой метки разместите компонент Edit категории Standard. Назовите его port (свойство
Разработка формы
Разработка формы Для того чтобы отправить SMS, необходимо знать номер телефона, на который мы будем отправлять сообщение, оператора этого номера и, естественно, — само отправляемое сообщение.Создайте новый проект Delphi и присвойте форме заголовок SMS-sender (свойство Caption).
Разработка формы
Разработка формы Создайте новый проект Delphi. Приготовьтесь к тому, что форма получится довольно большой (ширина — около 800 пикселей) и будет содержать большое количество разных кнопок и полей ввода. Присвойте ей заголовок FTP-client (свойство Caption) и разместите компоненты
"Анатомия" формы
"Анатомия" формы Теперь, когда вы понимаете роль типа Application, следующей вашей задачей является непосредственное рассмотрение функциональных возможностей класса Form. Как и следует ожидать, класс Form наследует большинство своих функциональных возможностей от родительских