Trong hướng dẫn này mình sẽ giới thiệu các bạn một trong các điều khiển đặc biệt tiếp theo đó chính là ProgressBar và Timer. Đây là hai điều khiển được sử dụng khá phổ biến vì nó liên quan đến thời gian
Chúng ta sẽ cùng nhau tìm hiểu về công dụng cũng như các thuộc tính và phương thức của ProgressBar, Timer. Sau đó mình sẽ thực hiện một chương trình áp dụng hai điều khiển trên
Mục lục
- 1. Thanh tiến trình
- 2. hẹn giờ
- 3. Ví dụ sử dụng các bộ điều khiển ProgressBar và Timer
- 4. Kết luận
1. Thanh tiến trình
ProgressBar được sử dụng để hiển thị thời gian thực hiện của một công việc nào đó
Một số thuộc tính của ProgressBar
Thuộc tínhMô tảMaximumGiá trị tối đa của ProgressBar. Khi ProgressBar được đầy đủ nghĩa là ProgressBar đã đạt được giá trị MaximumMinimumGiá trị nhỏ nhất của ProgressBar. Khi ProgressBar nhìn trống rỗng có nghĩa là ProgressBar đang có giá trị MinimumValueGiữ hiện tại của ProgressBar, giá trị này nằm trong đoạn Minimum và MaximumStyleKiểu hiển thị của ProgressBarStepLượng giá trị bổ sung vào Giá trị khi phương thức PerformanceStep[] được gọiA number of method of ProgressBar
Phương thứcMô tảPerformStep[]Phương thức giúp tăng ProgressBar. Giá trị gia tăng là giá trị được thiết lập trong thuộc tính StepIncrement[]Phương thức trợ giúp tang ProgressBar. Giá trị gia tăng là tham số đầu vào của phương thức2. hẹn giờ
Bộ hẹn giờ điều khiển cho phép thực thi lại một hành động sau một khoảng thời gian xác định
Một số thuộc tính của Timer
Thuộc tínhMô tảIntervalThiết lập giá trị là một số nguyên. Giá trị nguyên này là thời lượng của một chu kỳ tính Kích hoạtThiết lập giá trị Đúng hoặc Sai. Nếu giá trị là True thì điều khiển Timer hoạt động, nếu giá trị là False thì điều khiển Timer không hoạt độngA number of normal method used of Timer
Phương thứcMô tảStart[]Start[]kích hoạt bộ điều khiển Hẹn giờ hoạt động. Phương thức này tương ứng với việc thiết lập giá trị thuộc tính Enable là TrueStop[]Dừng hoạt động của Timer điều khiển. Phương thức này tương ứng với việc thiết lập giá trị thuộc tính Enable là SaiIn control Timer only have a event that is Tick
Sự kiệnMô tảTickTick là sự kiện được gọi trong mỗi Khoảng thời gian chu kỳ3. Ví dụ sử dụng các bộ điều khiển ProgressBar và Timer
Trong ví dụ này, mình sẽ thực hiện viết một chương trình áp dụng hai điều khiển ProgressBar và Timer, cụ thể sẽ tạo giao diện cho Form như sau rồi thực hiện một số sự kiện.
Xử lý một số sự kiện sau
- Use Timer to current date at
- Sử dụng ProgressBar để hiển thị % công việc đang thực hiện
- Xử lý sự kiện cho Button Button, khi nhấp vào thì ngày hiện tại sẽ hiển thị ra và thanh ProgressBar sẽ hiển thị % thực hiện công việc. Khi đạt đến 100% thì nạp Mẫu hai
Bây giờ chúng ta sẽ bắt đầu tạo giao diện cho Form1 và Form2. Đối với Form1, ta cần một số điều khiển như sau
- 2 nhãn để hiển thị ngày và hiển thị giờ
- 1 ProgressBar để hiển thị thời gian thực hiện công việc
- 2 Timer, Timer1 để tạo sự kiện hiển thị ngày hiện tại, Timer2 để tạo sự kiện hiển thị % thực hiện công việc
Sau khi tạo xong giao diện cho 2 Form, bây giờ đến lúc ta đi xử lý xự kiện cho điều khiển. Với Timer thì ta xử lý sự kiện Tick, ta vào Properties của Timer Click đúp vào sự kiện Tick để viết
Trong Timer1 ta sẽ tạo sự kiện hiển thị ngày tháng hiện tại. Ta tạo mới DateTime, sau đó sử dụng String. Format[] to format display type
1
2
3
4
5
6
private
void
timer1_Tick[
object
sender, EventArgs e]
{
DateTime dt = DateTime.Now.Add[
new
void
0
void
2____13void
4
void
6______17void
4
timer1_Tick[
0
Trong Timer2 ta sẽ tạo sự kiện hiển thị % đã thực hiện công việc và khi đạt 100% thì load Form2. Ta sử dụng thuộc tính Maximum để thực hiện điều này
1
2
3
4
5
6
7
8
9
10
11
12
private
void
timer1_Tick[
3object
sender, EventArgs e]
{
timer1_Tick[
9new
object
1
object
3
__object
5object
6 object
7object
8object
9
sender, EventArgs e]
1 sender, EventArgs e]
2
{
sender, EventArgs e]
5sender, EventArgs e]
6sender, EventArgs e]
7object
9
sender, EventArgs e]
5
0
timer1_Tick[
0
timer1_Tick[
0
Sau khi tạo sự kiện cho ProgressBar và Timer, bây giờ ta sẽ viết sự kiện cho Button Button, khi Click vào thì sẽ bật Timer1 và Timer 2. Trong trường hợp ProgressBar đang ở trạng thái Enabled, ta cho nó bằng False và đảo ngược
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private
void
7object
sender, EventArgs e]
{
sender, EventArgs e]
1{
4{
5{
6
{
sender, EventArgs e]
5
0sender, EventArgs e]
7object
9
sender, EventArgs e]
5
4
sender, EventArgs e]
5
6
timer1_Tick[
0
DateTime dt = DateTime.Now.Add[
0
{
sender, EventArgs e]
5
0{
5object
9
sender, EventArgs e]
5DateTime dt = DateTime.Now.Add[
8
sender, EventArgs e]
5new
0
timer1_Tick[
0
timer1_Tick[
0
Kết quả. Trước khi Click vào Button "Hiển thị ngày giờ" và sau khi Click
4. Kết luận
Như vậy là chúng ta đã tìm hiểu xong hai điều khiển đặc biệt trong C# winform. Đây là hai điều khiển được sử dụng rất nhiều, bởi vì trong ứng dụng luôn cần đến thời gian để có thể thực hiện một cách chính xác