protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e) {
//Поскольку нам известно, что никакие буквы при вводе нам не нужны,
//то просто игнорировать их, если они встречаются.
char keyPressed = e.KeyChar;
if (System.Char.IsLetter(keyPressed)) {
//Сообщить системе о том, что событие обработано
e.Handled =true;
return;
}
//Обработать нажатие клавиши обычным способом
base.OnKeyPress(e);
} //Конец функции
} //Конец класса
//-----------------------------------------------------------------
//Переменная для хранения нашего нового элемента управления TextBox
//-----------------------------------------------------------------
SocialSecurityTextBox m_filteredTextBox;
//--------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Создать экземпляр нашего пользовательского
// элемента управления и поместить его в форму
//--------------------------------------------------------------
private void button1_Click(object sender, System.EventArgs e) {
//Создать, позиционировать и разместить элемент управления
m_filteredTextBox = new SocialSecurityTextBox;
m_filteredTextBox.Bounds = new System.Drawing.Rectangle(2, 2, 160, 20);
//Подключить обработчик событий
m_filteredTextBox.TextChanged += new EventHandler(this.textBox_TextChanged);
//Задать родительский объект
m_filteredTextBox.Parent =this;
//Выделить элемент управления
m_filteredTextBox.Focus;
//Сделать данную кнопку недоступной, чтобы поверх данного объекта
//не был создан второй объект
SocialSecurityTextBox button1.Enabled = false;
}
//----------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Этот обработчик подключается динамически при
// создании элемента управления
//----------------------------------------------------------------
private void textBox_TextChanged(object sender, System.EventArgs e) {
if (m_filteredTextBox.IsFullValidInput == true) {
label1.Text = "FULL SOCIAL SECURITY NUMBER!!!";
} else {
label1.Text = "Not full input yet...";
}
}
Использование прозрачных областей растровых изображений
Растровые изображения с масками прозрачности полезны по многим причинам. При написании игр растровые изображения с областями прозрачности могут использоваться разработчиками для вывода на экран игрового поля и перемещения по нему изображений, форма которых не является прямоугольной. В картографических приложениях растровые изображения с масками прозрачности могут использоваться для вывода изображений поверх карт, генерируемых другими источниками; в качестве хорошего примера можно привести отображения на карте маркера, отмечающего текущее местоположение объекта. Наконец, встраивание изображений непрямоугольной формы в другую графику может с успехом использоваться для создания привлекательных пользовательских интерфейсов и бизнес-графики.