Читаем Программирование КПК и смартфонов на .NET Compact Framework полностью

После того как форма авторизации будет отображена на экране, нужно обработать события Click для нажатия кнопки проверки введенного имени пользователя или кнопки отмены. Первая кнопка проверяет правильность ввода имени. Если проверка завершилась успешно, то возвращается значение DialogResult.OK. Это иллюстрирует код, приведенный в листинге 7.4.

Листинг 7.4

private void butOK_Click(object sender, EventArgs e) {

 if (txtCheck.Text == "Alex") {

  this.DialogResult = DialogResult.OK;

 } else {

  MessageBox.Show("В доступе отказано. Попробуйте еще раз",

   "Вход в программу");

 }

}

Если пользователь не знает имени для доступа к программе, то ему придется нажать кнопку Отмена. В этом случае обработчик события butCancel_Click, код которого приведен в листинге 7.5, возвращает значение DialogResult.Cancel в главную форму, которая закрывает приложение.

Листинг 7.5

private void butCancel_Click(object sender, System.EventArgs e) {

 this.DialogResult = DialogResult.Cancel;

}

Создание заставки Splash Screen

Многие программы имеют так называемые заставки (splash screen). При загрузке формы сначала отображается окно с логотипом компании, названием продукта и дополнительной информацией. Следует реализовать приложение с подобным экраном, чтобы научиться использовать эту технологию.

Прежде всего надо создать новый проект и добавить к уже имеющейся форме еще одну форму с именем Splash. При запуске приложения заставка появится во весь экран с заданным текстом в центре экрана. Эта форма будет отображаться в течение трех секунд, а затем она автоматически закроется и на экране останется основная форма.

Создание подобного окна практически не отличается от предыдущего примера. Но в этом примере надо использовать таймер, который будет отвечать за появление и закрытие начальной заставки. Эта же форма будет использоваться как диалоговое окно для стандартного пункта меню О программе.

Итак, надо создать дополнительную форму AboutForm и задать значения всех необходимых свойств окна. На форме надо расположить таймер, интервал срабатывания которого будет равен 3 с. Код, реализующий подобное поведение программы, приведен в листинге 7.6.

Листинг 7.6

protected override void OnPaint(PaintEventArgs e) {

 StringFormat sf = new StringFormat();

 sf.Alignment = StringAlignment.Center;

 sf.LineAlignment = StringAlignment.Center;

 Graphics g = e.Graphics;

 g.DrawString(".NET Compact Framework", this.Font,

 new SolidBrush(Color.Blue), Screen.PrimaryScreen.Bounds, sf);

}


private void timer1_Tick(object sender, EventArgs e) {

 this.Close();

}

В событии OnPaint формы AboutForm нужно установить свойства для вывода текста. При желании можно добавить отображение логотипа. Через заданный интервал таймер просто закроет это окно. Код для основной формы MainForm приведен в листинге 7.7.

Листинг 7.7

public MainForm() {

 InitializeComponent();

#if DEBUG

 MinimizeBox = false;

#else

 MinimizeBox = true;

#endif

 AboutForm about = new AboutForm();

 about.ShowDialog();

}


private void mnuAbout_Click(object sender, EventArgs e) {

 AboutForm about = new AboutForm();

 about.ShowDialog();

}

Теперь при запуске приложения на экране сначала будет отображаться заставка. После истечения трех секунд она исчезнет, и пользователь увидит основную форму.

Поворот экрана

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных