Компонент MaskedTextBox. Свойства

   
На этом шаге мы рассмотрим некоторые свойства этого компонента.

   
Перечень свойств показан на рисунке 1.


Рис.1. Свойства компонента MaskedTextBox

   
Рассмотрим основные свойства этого компонента.

  • PromptChar - предоставляет возможность задавать свой собственный символ маски. Вместо подчеркивания можно задать, например, символ *. Тогда маска даты станет выглядеть так:
    **.**.****. Это будет более наглядно, т. к. знак подчеркивания сливается в сплошную линию.
  • HidePromptOnLeave - предоставляет возможность видеть символы-литералы даже в то время, когда сам компонент теряет фокус ввода.   
    Ввод по маске осуществляется так: действительно вводимые символы заменяют собой символы маски, а постоянно заданные символы (наприме точки в дате) пропускаются, когда указатель ввода в
    поле доходит до них. Система просто передвигает указатель ввода на следующий символ-подсказку. Если же пользователь вводит запрещенный маской символ, то возникает событие
    MaskInputRejected (отвергнутый маской ввод), позволяющее в его обработчике осуществить какую-то пользовательскую реакцию.
  • MaskFull - позволяет проверить, все ли требуемые символы маски введены (например, вы вводили дату и не заметили, что вместо восьми символов ввели только семь - при большой
    скорости ввода это всегда может произойти). Поэтому этот момент надо программно контролировать. Пример задания такого контроля показан на рисунке 2, текст обработчика - в примере ниже.

    private: System::Void maskedTextBox1_KeyDown(System::Object^  sender, 
        System::Windows::Forms::KeyEventArgs^  e) {
    	 if(e->KeyCode == Keys::Enter)
    	 {
    		 if( this->maskedTextBox1->MaskFull == false)
    		 {
    			 MessageBox::Show("Дата введена не полностью", 
    				"Компонент MaskedTextBox", 
    				 MessageBoxButtons::OK,
    				 MessageBoxIcon::Asterisk);
    			 this->textBox1->Clear(); 
    			 this->maskedTextBox1->Clear();
    			 return;
    		 }
    		 textBox1->Text = maskedTextBox1->Text;
    	 }
     }
    

    Архив проекта можно взять здесь.


    Рис.2. Контроль на полноту ввода по маске

  • Text - возвращает строку, введенную по маске.
  • TextMaskFormat - определяет, как символы-литералы и подсказка взаимодействуют, когда генерируется форматная строка (т. е. строка, введенная по маске). Точнее, это свойство задает,
    будут ли они (оба вместе или по отдельности) включены в итоговую строку (в свойство Text). Если исключаются символы-подсказки, то они заменяются пробелами.

       
    Возможные значения (рисунок 3):


    Рис.3. Значения свойства TextMaskFormat

    • ExcludePromptAndLiterals (или 0) - возвращать только текст, введенный пользователем;
    • IncludeLiterals (или 2) - возвращать текст, введенный пользователем, а также символьные литералы, определенные в маске;
    • IncludePrompt (или 1) - возвращать текст, введенный пользователем, а также экземпляры символа приглашения;
    • IncludePromptAndLiterals (или 3) - возвращать текст, введенный пользователем, а также символьные литералы, определенные в маске, и экземпляры символа приглашения.
  • AsciiOnly - используется для ограничения ввода (могут вводиться только символы а-z, А-Z и 0-9), хотя среда npoграммирования поддерживает все символы Unicode.
    Их, как известно, намного больше, чем символов ASCII (последние кодируются на основе кода длиной в 8 битов, а первые - на основе 16 битов, т. е. ясно, что 216 > 28).

   
На следующем шаге мы рассмотрим компонент CheckedListBox.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий