Главная страница
Навигация по странице:

  • All Windows Forms

  • Некоторые свойства Свойства компонента, отображенные в окне Properties

  • Некоторые методы Перечень некоторых методов компонента представлен в табл. 11.2. Таблица Перечень некоторых методов компонента TextBox Имя метода

  • Борис Пахомов Санкт Петербург бхв петербург 2013 удк 004. 4 Ббк 32. 973. 26018. 2 П


    Скачать 17.38 Mb.
    НазваниеБорис Пахомов Санкт Петербург бхв петербург 2013 удк 004. 4 Ббк 32. 973. 26018. 2 П
    АнкорMS Visual C.pdf
    Дата04.08.2018
    Размер17.38 Mb.
    Формат файлаpdf
    Имя файлаMS Visual C.pdf
    ТипДокументы
    #22453
    страница21 из 37
    1   ...   17   18   19   20   21   22   23   24   ...   37
    Properties, показан на рис. 11.10. Из событий панели отметим следующие

    HelpRequested
    — возникает, когда пользователю требуется информация для компонента (нажимает клавишу );

    Layout
    — возникает, когда компоненты, расположенные на панели, меняют свои места

    PreviewKeyDown
    — возникает, когда нажимается клавиша на клавиатуре, но перед событием
    KeyDown
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    257 Рис 11.9. Свойства панели
    Рис.
    11.10. Перечень событий компонента
    Panel

    258 Часть II. Приложения Windows Компонент Компонент
    Label
    (метка) находится в списке All Windows Forms палитры компонентов. Этот компонент выводит в свое поле тексты или изображения, которые пользователь в режиме исполнения приложения не может редактировать. Компонент используется, чтобы идентифицировать некоторый объект в форме или в другом контейнере (те. в качестве метки к другому компоненту, однако фокуса ввода получать не может. Некоторые свойства Свойства компонента, отображенные в окне Properties, показаны на рис. 11.11. Рис 11.11. Свойства компонента Рассмотрим некоторые из них

    BorderStyle
    — задает окантовку метки, которая выбирается из выпадающего списка. Там три значения без окантовки, окантовка одной линией, окантовка под трехмерное пространство

    TextAlign
    — задает способ расположения (выравнивания) текста, записываемого в поле свойства
    Text
    (будет ли текст выравниваться полевой, правой границе поля, или же по центру и т. п. При нажатии кнопки выбора расположения тек
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    259 ста открывается схема, по которой нужно установить месторасположения текста, щелкая на необходимом прямоугольнике схемы (чтобы увидеть длинный текст в метке, надо отключить свойство
    AutoSize
    ). После этого в метке появятся анкерные точки, за которые поле метки можно растягивать или сжимать. Остальные свойства метки аналогичны ранее рассматриваемым свойствам в предыдущих компонентах. События События этого компонента показаны на рис. 11.12 (они в основном совпадают с событиями для ранее рассмотренных компонентов. Рис 11.12. События компонента Компонент Компонент находится в списке All Windows Forms палитры компонентов. Этот компонент задает в форме однострочное или многострочное редактируемое поле, через которое вводят/выводят строчные данные. Вид компонента в форме показан на рис. 11.13.

    260 Часть II. Приложения Windows Рис 11.13. Вид компонента
    TextBox в форме
    Некоторые свойства Свойства компонента, отображенные в окне Properties, показаны на рис. 11.14. Рис 11.14. Свойства компонента Рассмотрим некоторые из них.

    AcceptsReturn
    — показывает, будет ли нажатие клавиши в многостроч- ном режиме этого компонента создавать новую строку текста (значение свойства равно true
    ), или активизируется кнопка по умолчанию для формы (значение свойства равно false
    ). Если значение свойства равно false
    (принято по умолчанию, то пользователь должен нажимать комбинацию клавиш +, чтобы организовывалась новая строка в многострочном режиме ввода.
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    261 Если для формы не существует кнопки по умолчанию, то нажатие клавиши
    всегда будет создавать новую текстовую строку, независимо от значения свойства Кнопка по умолчаниюдля формы задается ее свойством
    AcceptButton
    , которое не отображается в окне Properties. Эта кнопка будет автоматически срабатывать, когда пользователь нажмет клавишу . Наличие такого свойства позволяет конструировать действия по умолчанию. Если это свойство не определять, то такой кнопки не будет и тогда станет действовать правило нажатие клавиши всегда будет создавать новую текстовую строку, независимо от значения свойства
    AcceptsReturn

    AcceptsTab
    — показывает, приведет ли нажатие клавиши при много- строчном режиме ввода к появлению кода этой клавиши в строках (вместо стандартной реакции на нажатие клавиши — перемещение фокуса ввода на очередной по значению свойства
    TabIndex компонент. Если значение свойства
    AcceptsTab равно false
    , то нажатие клавиши приведет к перемещению фокуса на очередной компонент, если же значение равно true
    , то, чтобы переместить фокус на очередной компонент, надо будет нажать комбинацию клавиш +, иначе нажатие приведет к вставке символа табуляции в строку.

    AutoCompleteCustomSource
    — это свойство совместно со свойствами
    AutoCompleteMode и
    AutoCompleteSource обеспечивает автоматическое пополнение или подсказку с выбором из списка для вводимых строк, что служит контролю ввода, т. кв могут вводиться различного рода данные URL, адреса, имена файлов, команды. Свойства способ автоматического пополнения) и
    AutoCompleteSource
    (источник, те. откуда берутся данные автоматического пополнения) должны работать вместе. В частности, если из выпадающего списка свойства
    AutoCompleteSource выбрать значение
    CustomSource
    , то можно в качестве источника данных использовать свойство
    AutoCompleteCustomSource
    — оно позволяет открыть специальный редактор, с помощью которого можно задавать строки данных. Без значения
    AutoCompleteSource
    , равного
    CustomSource
    , это свойство использовать нельзя. Следует заметить, что
    TextBox должен быть обязательно в однострочном режиме. Пример использования этих трех свойств показан на рис. 11.15.

    HideSelection
    — задает, остается ли визуальная индикация выделенного текста, когда фокус ввода перемещается на другой компонент (
    true
    — выделенный текст не меняет подсветки, false
    — подсветка исчезает при выделении другого компонента.

    Lines
    — с помощью этого свойства можно задавать строки (через открываемое диалоговое окно, выводить строки и, естественно, вводить строки. Все, что задано в этом свойстве, попадает в свойство
    Text и наоборот. Пример работы со свойством
    Lines показан на рис. 11.16.

    262 Часть II. Приложения Windows Рис 11.15. Пример использования свойств
    AutoCompleteCustomSource
    ,
    AutoCompleteMode
    , Рис 11.16. Пример работы со свойством
    Lines
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    263

    Multiline
    — задает режим многострочного ввода (мы его задали другим способом открыли вспомогательное меню на самом компоненте.

    PasswordChar
    — если мы хотим, чтобы вводимые в поле
    TextBox символы не высвечивались, а заменялись неким другим символом, как это происходит при вводе пароля, тов это свойство надо ввести значение такого символа (например, звездочку. Но при этом значение свойства
    Multiline должно быть false

    ReadOnly
    — определяет, может ли пользователь менять текст в поле компонента при значении этого свойства true
    — не может, при значении false
    — может.

    ScrollBars
    — этим свойством можно воспользоваться при многострочном режиме, когда строки не помещаются в отведенное пространство
    TextBox
    (можно ввести полосы прокрутки. Какие полосы вводить и надо ли их вводить, можно выбрать из выпадающего списка свойства. При этом необходимо следить за свойством
    WordWrap
    — горизонтальная полоса прокрутки может не появиться.

    ShortcutsEnabled
    — дает возможность применять установленные в среде клавишные комбинации быстрого вызова
    +;
    +;
    +;
    +;
    +;
    +;
    +;
    +;
    +;
    +;
    +;
    +;
    +.

    Text
    — через это свойство вводится/выводится одна строка текста.

    TextAlign
    — свойство позволяет выравнивать текст в поле компонента, выбирая способ выравнивания из выпадающего списка (текст может располагаться слева, справа или по центру поля.

    UseSystemPasswordChar
    — задает возможность объявления вводимого символа в качестве парольного по умолчанию. Если такой символ введен, то любой символ, вводимый в свойство
    PasswordChar
    , будет проигнорирован.

    WordWrap
    — задает возможность автоматического переноса символов к началу следующей строки, те. строку, не умещающуюся в поле ввода, можно продолжить (не нажимая, естественно, при этом на клавишу ). События Перечень событий компонента, отображаемый в окне Properties, показан на рис. 11.17. Из всех событий компонента рассмотрим интересное событие
    KeyDown
    . Оно возникает, когда пользователь приложения нажимает любую клавишу на клавиатуре, а

    264 Часть II. Приложения Windows Рис 11.17. События компонента
    TextBox сам компонент имеет фокус ввода. С помощью этого события можно отслеживать ввод данных через компонент. Например, вам надо, чтобы введенная через компонент строка символов уходила на обработку после нажатия клавиши . Тогда в обработчик события, в который среда отсылает всякий раз,
    когда нажимаете любую клавишу при вводе, надо вставить проверку на нажатие клавиши . Вид содержимого обработчика этого события if(e->KeyCode == Keys::Enter)
    {
    /* Здесь помещаются операторы, обрабатывающие введенную строку Пояснение e
    — это параметр обработчика события Он описан так
    System::Windows::Forms::KeyEventArgs^ То есть это ссылка на класс
    KeyEventArgs
    , который обеспечивает данными обработка событий
    KeyDown и Когда вы введете e->
    , то появится окно подсказки, из которого нужно выбрать элемент, который создает код клавиатуры для событий
    KeyDown или
    KeyUp
    KeyCode описан как элемент типа
    Keys
    , где класс
    Keys
    — это перечислимый класс, содержащий значения различных кодов клавиатуры. Когда введете
    Keys::
    , то откроется окно подсказчика, из которого сможете выбрать мнемонический код интересующей вас клавиши. В частности, вы там найдете кла-
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    265 вишу с именем ( — вовсе необязательная клавиша для фиксации окончания ввода — можно применять и другую, но эта клавиша общепринята и удобна. В рассматриваемой версии продукта (2011 beta) подсказчик отключен, поэтому следует набирать названия элементов без него.
    Некоторые методы Перечень некоторых методов компонента представлен в табл. 11.2. Таблица Перечень некоторых методов компонента

    TextBox
    Имя метода
    Описание метода Добавляет текст к текущему тексту в окне компонента
    Clear Удаляет весь текст из поля ввода/вывода
    Copy Копирует выбранные строки в буфер памяти
    CreateGraphics С помощью этого метода можно создать графический объект для рисования на компоненте
    Cut Вырезает отмеченное множество строк в поле ввода/вывода и помещает их в буфер памяти
    DeselectAll Снимает состояние выборки строк в компоненте
    Dispose Удаляет все ресурсы, занятые компонентом, из памяти Устанавливает фокус ввода компоненту Прячет компонент от пользователя Заменяет текущую выборку в поле ввода/вывода содержимым буфера памяти
    Select Выбирает заданный текст внутри компонента
    SelectAll Выбирает весь текст внутри компонента
    Show Выводит компонент (делает его видимым Отменяет последнюю операцию редактирования в поле ввода Структуру каждого метода компонента можно посмотреть в Help среды программирования. Вызов метода происходит, например, по форме или
    String Добавка текста";
    this->textBox1->AppendText(s);
    Все зависит от структуры соответствующего метода.

    266 Часть II. Приложения Windows Компонент Компонент находится в списке All Windows Forms палитры компонентов. Этот компонент создает главное меню приложения, с помощью которого управляют всей работой приложения и его частей. Разные части приложения запускаются на выполнение отдельными командами, собранными в эту структуру. Выход из приложения тоже происходит через меню. Структуру меню определяет заказчик приложения и его исполнитель. Меню формируется в форме после того, как его значок перенесен из палитры компонентов в форму. С этой формой меню будет связано через свойство формы
    MainMenuStrip
    , в окне которого и появляется имя компонента. Когда меню сформировано, то после запуска приложения на выполнение в левой верхней части формы будет расположена строка, содержащая главные опции этого меню. Главные опции могут распадаться на более детальные команды (если таковые заданы, располагающиеся на этот раз уже в столбик (сверху вниз. При переносе значка меню из палитры в форму значок располагается не в самой форме, а в нижней части рабочего стола (на специальной полосе под формой. В тоже время в форме (в ее верхней части) появляется полоса для отображения будущих опций меню (рис. 11.18). Рис 11.18. Помещение компонента главного меню в форму
    Рис.
    11.19. Выпадающий список
    MenuStrip Tasks На рис. 11.19 показан выпадающий список MenuStrip Tasks. Это диалоговое окно обеспечивает доступ к типичным командами свойствам.

    Embed in ToolStripContainer
    — позволяет (щелчком мыши) поместить меню в специальный контейнер (вместо расположения его в форме. Контейнер — это объект со своим набором свойств, установка которых позволяет создавать меню, более удобное для пользователя. Вид инструментального контейнера с помещенной в него заготовкой меню показан на рис. 11.20.

    Insert Standard Items
    — добавляет общепринятые опции меню (рис. 11.21).

    RenderMode
    — опция дает возможность выбора из выпадающего списка способа изображения меню системного (
    System
    ), профессионального (
    Professional
    ) или
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    267 управляемого (
    ManagerRenderMode
    ). Опция
    System обеспечивает темноватый фон по опциям меню опции
    ManagerRenderMode и
    Professional светлый.

    Dock
    — выводит (по щелчку на кнопке) в поле этой опции схему причаливания меню к той или иной стороне формы. На рис. 11.22 показано, что меню поместилось, прижатым клевой стороне формы. Рис 11.20. Меню, помещенное в инструментальный контейнер
    Рис.
    11.21. Добавка типизированных опций вменю Рис 11.22. Причаливание меню клевой стороне формы

    268 Часть II. Приложения Windows Form

    GripStyle
    — в этой опции существует выпадающий список, задающий элемент стиля полосы меню невидима или видима будет специальная пунктирная канавка в верхней части полосы (рис. 11.23). Рис 11.23. Появление вверху меню пунктирной канавки Items
    — с помощью этой опции и задаются опции самого меню. Если шелкнуть на этой опции, то откроется диалоговое окно для задания опций главного меню, причем в левой его части существует окно для добавления новых опций, а в правой части открывается окно для настройки свойств добавляемых опций (рис. 11.24). С помощью этого окна можно не только добавлять новые опции, но и удалять и реорганизовывать их. Рис 11.24. Диалоговое окно для задания опций главного меню
    Рассмотрим некоторые свойства сформированной опции и посмотрим, каких устанавливать. Прежде всего опцию надо как-то назвать и сделать это так, чтобы поль-
    Глава
    11. Компоненты, создающие интерфейс между пользователем и
    приложением
    269
    зователю было легко ориентироваться вменю. Название опции задается, как и у ранее рассматриваемых компонентов, в свойстве
    Text
    . После задания главных опций, щелкая на них, можно задавать остальные подопции: сначала — подмножество в виде столбца, потом — к каждому элементу столбца — задается свое подменю и т. д. Когда мы вписываем названия элементов меню в появляющиеся пустые заготовки, то эти названия попадают в свойства text формируемых элементов. В конце концов в соответствии с алгоритмом задачи мы остановимся на некотором шаге, когда создан последний элемент некоторой ветки меню, который должен будет выходить на обработку данных. Как это сделать Надо открыть свойства этого последнего в цепочке элемента, в свойствах выбрать колонку событий и дважды щелкнуть на событии
    Click
    , которое выведет нас на обработчик этого события в программном модуле. Там мы и запишем реакцию щелчка мыши на последнем элементе меню. Все это показано на рис. 11.25. Рис 11.25. Опция меню и ее окно
    Properties Вид обработчика события private: System::Void toolStripMenuItem6_Click(System::Object^ sender,
    System::EventArgs^ e) Здесь помещаются операторы С, которые реализуют алгоритм, соответствующий функции этого элемента меню. В частности, здесь же можно устанавливать и свойства этой опции программным путем, задавая операторы типа Таким образом, мы связали созданную нами опцию с возможностью обработки при ее нажатии (когда начнется исполняться приложение. Аналогично создаются и другие опции (в глубину и ширину меню когда вы щелкните на какой-то опции (те. активизируете ее, то сразу откроются два окна (рядом и справа) с надписью в них Type Here (вводите сюда.

    270 Часть II. Приложения Windows То окно, которое справа, позволяет определить новую горизонтальную подопцию, которое внизу — новую вертикальную. Допустим, мы опцию сформировали. Но возникают два вопроса, которые опытный пользователь сразу вам задаст. Он скажет "Я знаю, что при эксплуатации любой программы для обеспечения большей скорости работы оператора надо иметь возможность работать не только с помощью мыши, но и с помощью клавиатуры. Вы это предусмотрели И второе — у меня в приложении намечается довольно сложное меню, которое отражает функцию моего предприятия. Поэтому с приложением будут работать многие операторы, и я бы хотел, чтобы оператор, работающий с одним разделом меню, не мог работать с другим, точнее, чтобы он не имел к нему доступа. Ивы должны будете его требования учесть. Как же этого добиться Что касается дублирования действий мыши работой с клавиатурой, то этот вопрос решается. Активизируйте любую созданную вами опцию и посмотрите ее свойства в окне
    1   ...   17   18   19   20   21   22   23   24   ...   37


    написать администратору сайта