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

Создание заставки 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();

}

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