|
HỒ LÔ BIẾN |
|
XÂY DỰNG SPLASH
SCREEN CHUYÊN NGHIỆP CHO ỨNG DỤNG
KIM NGÂN (IT4Viet Group) |
|
Đối với một ứng dụng, ngoài những tính năng chính
của chương trình được đầu tư phát triển thì màn hình
chào mừng xuất hiện trước tiên khi chạy ứng dụng
(splash screen) cũng có tầm quan trọng không kém.
Bởi không ứng dụng chuyên nghiệp nào mà không có
splash screen, từ Windows cho đến Photoshop, mỗi
chương trình đều có cách thể hiện của riêng mình. |
|
 |
|
Tuy nhiên, hiện nay phong cách splash screen chủ yếu
tập trung theo hai trường phái: |
|
1. Giao diện vuông vức của một form ứng dụng thông
thường: điển hình là các sản phẩm của bộ Microsoft
Office, Macromedia Flash, Total Commander... |
|
 |
|
2. Giao diện phá cách không theo chuẩn, phần đồ họa
(hình ảnh) thường vượt ra khỏi form: ví dụ có họ sản
phẩm của hãng Adobe. |
|
 |
|
Trong bài viết này, tôi sẽ hướng dẫn bạn nguyên lý
thiết kế một splash screen theo dạng form chuẩn
nhưng theo phong cách chuyên nghiệp (dạng còn lại
chúng ta sẽ nghiên cứu trong một bài viết sau). Tiến
trình của splash screen như sau: khi người dùng chạy
ứng dụng, màn hình splash screen sẽ xuất hiện trước.
Do sự đơn giản của form splash screen nên tốc độ
hiển thị rất nhanh. Tiếp theo, trong lúc splash
screen đang hiển thị thì ứng dụng chính cũng tranh
thủ nạp vào bộ nhớ rồi xuất hiện, lúc này splash
screen vẫn còn và nằm đè lên cửa sổ ứng dụng. Cuối
cùng, khi ứng dụng đã ổn định thì splash screen biến
mất. |
|
Với quy trình phức tạp như thế, chắc hẳn bạn cũng
biết rằng kỹ thuật lập trình cổ điển không thể nào
làm được mà phải vận dụng khả năng đa tuyến đoạn
(multi-threading) của các ngôn ngữ lập trình mới, ở
đây là Visual Basic .NET. Muốn vậy, ta cần phải xây
dựng hai tuyến đoạn: một dành cho splash screen và
một dành cho ứng dụng chính, cùng với giải pháp dùng
module rồi gọi chạy các tuyến đoạn. |
|
Công việc nghe có vẻ phức tạp song phần thực hành
thì lại vô cùng đơn giản, bạn cần chuẩn bị trước hai
form: |
|
1. Form giao diện chính của ứng dụng: form này thì
chắc hẳn bạn đã có sẵn bởi ứng dụng mà không có giao
diện thì còn gì là ứng dụng nữa (ví dụ: frmMain). |
|
2. Form dùng làm splash screen: form này bạn chỉ nên
thiết kế gọn nhẹ, làm sao cho bắt mắt người dùng và
thể hiện hết chức năng ứng dụng là được (ví dụ:
frmSplash). |
|
Bạn tiếp tục tạo thêm một module đặt tên là
MainModule.vb với nội dung tương tự như sau: |
|
Imports
System.Windows.Forms
Imports
System.Threading
Module MainModule
Public mainForm
As frmMain
Private splashForm
As frmSplash
Private appContext
As ApplicationContext
Sub Main()
StartApplication()
ShowSplashScreen()
ShowMainForm()
ReleaseSplashScreen()
ReadEvents()
Cleanup()
End Sub
Sub StartApplication()
appContext = New
ApplicationContext
End Sub
Sub ShowSplashScreen()
splashForm = New
frmSplash
splashForm.Show()
Application.DoEvents()
Thread.Sleep(3000)
End Sub
Sub ShowMainForm()
mainForm = New frmMain
mainForm.Show()
Application.DoEvents()
Thread.Sleep(1000)
End Sub
Sub
ReleaseSplashScreen()
splashForm.Close()
End Sub
Sub ReadEvents()
appContext.MainForm = mainForm
Application.Run(appContext)
'Ứng dụng sẽ thoát khi đóng
mainForm
End Sub
Sub Cleanup()
'Đặt bộ thu gom rác ở đây
End Sub
End Module |
|
Bây giờ công việc còn lại là trong môi trường phát
triển (IDE) Visual Studio .NET bạn nhấp phải chuột
vào tên project trong cửa sổ Solution Explorer chọn
mục Properties. Tại cửa sổ vừa xuất hiện, bạn chọn
tên thủ tục sẽ chạy đầu tiên (Sub Main) trong
MainModule.vb, nhấn OK rồi chạy thử ứng dụng, bạn sẽ
thấy điều hấp dẫn xảy ra và ứng dụng mang một sức
sống mới. |
|
 |
|
|