Создание заставки 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();
}
Теперь при запуске приложения на экране сначала будет отображаться заставка. После истечения трех секунд она исчезнет, и пользователь увидит основную форму.