Khoa CNTT-HVKTQS



|BỘ MÔN DUYỆT |ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG |Thay mặt nhóm môn học |

|Chủ nhiệm Bộ môn |(Dùng cho 45 tiết giảng) | |

| |Học phần: Ngôn ngữ lập trình 2 – DotNet | |

| |Nhóm môn học: Cơ sở ngành (Kỹ thuật lập trình) | |

| |Bộ môn: Công nghệ phần mềm | |

| |Khoa (Viện): Công nghệ Thông tin |Phan Việt Anh |

|Phan Nguyên Hải | | |

Thông tin về nhóm môn học

|TT |Họ tên giáo viên |Học hàm |Học vị |Đơn vị công tác (Bộ môn) |

|1 |Hồ Nhật Quang |GV |Ths |Công nghệ phần mềm |

|2 |Phan Việt Anh |GV |Ths |Công nghệ phần mềm |

|3 |Cao Tuấn Anh |TG |KS |Công nghệ phần mềm |

Thời gian, địa điểm làm việc: Bộ môn Công nghệ phần mềm, khoa Công nghệ Thông tin.

Điện thoại, email: 069 515 338 bmcnpmmta@

Bài giảng 1: Các khái niệm cơ bản

Chương 1: Mục 1.1 + 1.2

Tiết thứ: 1 - 3 Tuần thứ: 1

- Mục đích, yêu cầu:

+ Nắm được ý nghĩa, yêu cầu, các nội dung của môn học.

+ Nắm được cấu trúc của một chương trình C# đơn giản.

+ Nắm được cách sử dụng IDE của Visual Studio để soạn thảo, biên dịch và thực thi chương trình.

+ Nắm được các kiểu dữ liệu cơ bản trong C# và .NetFramework, chuyển đổi giữa các kiểu dữ liệu.

+ Viết chương trình nhập, xuất dữ liệu, thực hiện một số toán tử toán học, hiển thị kiểu dữ liệu ngày giờ, thao tác với xâu ký tự.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

1.1. Các khái niệm cơ bản (1 tiết)

- Giới thiệu

+ Các ngôn ngữ được hỗ trợ trong Visual : C/C++ (thông qua Visual C++), , C#.NET, F# (từ VS2010), …

+ Gồm có 2 thành phần chính: Framework và Integrated Development Environment (IDE).

+ Framework là cốt lõi quan trọng nhất của môi trường .NET. IDE chỉ là công cụ để phát triển trên nền tảng đó. Trong .NET cả C++, C#, Visual Basic đều dùng chung 1 IDE.

+ .NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư viện lớp .NET Framework

- Tính năng của bộ

+ Xây dựng được đa dạng các ứng dụng: Web, mobile phone, Windows Form, giao tiếp với phần cứng, …

- Không gian tên (namespace)

+ Ý nghĩa của việc dùng không gian tên (namespace)

+ Sử dụng các thành phần trong namespace, từ khóa using:

+ Cú pháp :

using tên namespace;

using bí danh = tên namespace;

- Cấu trúc của chương trình C#

+ Cấu trúc vật lý, logic của một chương trình trong C#: Solution, Project, File.

+ Hàm Main (điểm bắt đầu của chương trình) có tham số, không có tham số

- Biên dịch và thực thi chương trình

- Kiểu dữ liệu, từ khoá, định danh, biến, hằng…

+ Kiểu số nguyên (C#/ .NetFramework): byte/Byte, sbyte/Sbyte, short/Int16, ushort/Uint16, int/Int32, unit/Uint32, long/Int64, ulong/ Uint64

+ Kiểu số thực dấu phảy động (C#/ .NetFramework): float /Single, double /Double, decimal /Decimal.

+ Kiểu ký tự, xâu ký tự (C#/ .NetFramework): char/Char, string/String.

+ Kiểu thời gian (C#/ .NetFramework): Datetime/ Datetime

+ Kiểu logic (C#/ .NetFramework): bool/ Boolean

+ Kiểu đối tượng (C#/ .NetFramework): object/Object

- Nhập/ xuất dữ liệu

+ Nhập liệu: Hàm ReadLine, ReadKey

+ Xuất dữ liệu ra màn hình: Hàm Write, WriteLine.

- Các toán tử

+ Các toán tử một ngôi: [], ++, --, typeof, ..

+ Toán tử hai ngôi: +, -, *, …

+ Toán tử dịch bít: >>, , =, "A::Foo()"

                b.Foo();  // kết quả trên màn hình --> "B::Foo()"

                a = new B();

                a.Foo();  // kết quả trên màn hình --> "A::Foo()"

            }

        }

2.6. Lớp trừu tượng và giao diện (2 tiết)

- Lớp trừu tượng (abstract class)

+ Lớp trừu tượng đơn giản được xem như một class cha cho tất cả các Class có cùng bản chất.

+ Mỗi lớp dẫn xuất (lớp con) chỉ có thể kế thừa từ một lớp trừu tượng.

+ Lớp trừu trượng không cho phép tạo đối tượng trực tiếp từ nó, chỉ tạo được đối tượng qua hàm tạo của lớp con.

+ Các phương thức abstract của lớp trừu tượng không có phần thân

- Giao diện (Interface)

+ Interface được xem như một mặt nạ cho tất cả các Class cùng cách thức hoạt động nhưng có thể khác nhau về bản chất

+ Interface chỉ định nghĩa các events, indexers, methods hoặc properties.

+ Các lớp hoặc struct có thể đa kế thừa từ interface.

+ Tất cả các lớp (hoặc struct) kế thừa từ interface đều phải thực thi toàn bộ các thành viên trong interface.

+ Không tạo đối tượng trực tiếp từ interface.

- Ý nghĩa của giao diện.

- Xây dựng lớp cài đặt giao diện

- Các giao diện thông dụng trong .NetFramework:

+ Khả liệt kê (IEnumerable): hỗ trợ dùng vòng lặp foreach để duyệt các phần tử trong tập hợp.

+ Khả so sánh (IComparable): System.Collections.IComparer: Cung cấp cơ chế so sánh kiểu tùy biến, cho bạn dễ dàng sắp xếp mảng đối tượng này

+ Khả tuần tự (Serializable): System.Runtime.Serialization.ISerializable: có thể dễ dàng lưu trữ vào đĩa, truyền qua mạng hoặc chuyển giá trị qua lại giữa các miền ứng dụng

+ Khả sao chép (IClonableable): System.ICloneable: Cung cấp cơ chế tạo bản sao cho các đối tượng của lớp

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [1] chương 5, 6

Đọc tài liệu [4] từ trang 357 - 473

Tự làm bài tập cuối chương 2.

Bài giảng 4: Lập trình hướng đối tượng trong C# - Bài tập

Tiết thứ: 10 - 12 Tuần thứ: 4

- Mục đích, yêu cầu:

+ Nắm chắc các kiến thức về lập trình hướng đối tượng.

+ Làm các bài tập cuối chương 2.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 0; Bài tập: 3 tiết Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

+ Làm các bài tập xây dựng lớp,.

+ Xây dựng các lớp có quan hệ kế thừa.

+ Xây dựng lớp kế thừa giao diện khả tuần tự hóa, giao diện khả so sánh, sắp xếp mảng các đối tượng theo các tiêu chí khác nhau.

+ Xây dựng lớp kế thừa giao diện khả sao chép.

- Yêu cầu SV chuẩn bị:

+ Nắm chắc lý thuyết chương 2.

+ Làm các bài tập giáo viên giao về nhà.

Bài giảng 5: Cấu trúc dữ liệu trong C# + Bài tập

Chương 3, mục 3.1 + 3.2

Tiết thứ: 13 - 15 Tuần thứ: 5

- Mục đích, yêu cầu:

+ Nắm được cách sử dụng một số kiểu cấu trúc dữ liệu trong C#: Danh sách liên kết, mảng động ArrayList, ngăn xếp (stack), hàng đợi (Queue)

+ Nắm được ý nghĩa, phương pháp lập trình tổng quát.

+ Xây dựng ví dụ lớp tổng quát

- Hình thức tổ chức dạy học: Lý thuyết, bài tập, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 2 tiết; Bài tập: 1 tiết Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

3.1. Lập trình tổng quát trong C# (1 tiết)

- Giới thiệu lập trình tổng quát

+ Lập trình tổng quát là phương pháp lập trình mà trong đó kiểu dữ liệu không cần định nghĩa trước, sau đó nó sẽ được khởi tạo là kiểu dữ liệu cụ thể khi cần thiết.

- Lớp tổng quát (Generic Class)

- Phương thức tổng quát (Generic Method )

- Cấu trúc tổng quát (Generic Struct)

3.2. Một số cấu trúc dữ liệu trong C#(1 tiết)

- Danh sách liên kết

+ Lớp LinkedList trong namespace System.Collections.Generics dùng để biểu diễn danh sách liên kết (danh sách liên kết đơn và kép).

+ Mỗi node trong LinkedList có kiểu là LinkedListNode.

+ Các thuộc tính của LinkedListNode

|LinkedListNode(value) | |

|List |Trả về danh sách liên kết chứa node hiện tại. |

|Next |Trả về node tiếp theo của danh sách liên kết |

|Previous |Trả về node phía trước của danh sách liên kết |

|Value |Trả về giá trị đang lưu trữ trong node. |

+ Các thuộc tính và phương thức thường dùng của danh sách liên kết

|Tên |Mô tả |

|Hàm tạo |

|LinkedList) |Nạp chồng. Khởi tạo đối tượng của lớp LinkedList |

|Phương thức |

|AddAfter |Nạp chồng . Thêm một node mới hoặc một giá trị vào sau một node đã tồn tại trong danh sách. |

|AddBefore |Nạp chồng . Thêm một node mới hoặc một giá trị vào trước một node đã tồn tại trong danh sách. |

|AddFirst |Nạp chồng . Thêm một node mới hoặc một giá trị vào đầu danh sách. |

|AddLast |Nạp chồng . Thêm một node mới hoặc một giá trị vào cuối danh sách. |

|Clear |Xóa toàn bộ các node trong danh sách |

|Contains |Kiểm tra giá trị có tồn tại trong danh sách. |

|CopyTo |Sao chép toàn bộ danh sách ra mảng một chiều, bắt đầu từ vị trí đã chỉ của mảng đích. |

|Finalize |Cho phép một đối tượng giải phóng tài nguyên và thực hiện thao tác dọn dẹp trước khi đối tượng này bị |

| |dọn dẹp bởi bộ thu dọn rác. |

|Find |Tìm kiến node đầu tiên chứa giá trị cần tìm kiếm. |

|FindLast |Tìm kiến node cuối cùng chứa giá trị cần tìm kiếm. |

|GetEnumerator |Trả về enumerator cho phép duyệt qua danh sách. |

|Remove |Nạp chồng. Xóa node hoặc giá trị xuất hiện đầu tiên từ danh sách. |

|RemoveFirst |Xóa node đầu tiền của danh sách |

|RemoveLast |Xóa node cuối cùng của danh sách. |

|Thuộc tính |

|Count |Trả về số lượng các node trong danh sách |

|First |Trả về node đầu tiên trong danh sách |

|Last |Trả về node cuối cùng trong danh sách |

- Ngăn xếp và hàng đợi

+ Ngăn xếp(Stack)

Lớp Stack dùng để biểu diễn cấu trúc ngăn xếp có thể chứa các giá trị có kiểu dữ liệu khác nhau. Thuộc namespace System.Collections

Lớp Stack biểu diễn cấu trúc ngăn xếp chứa các giá trị cùng kiểu dữ liệu. Thuộc namespace System.Collections.Generics

Một số thuộc tính thường dùng: Capacity, Count

Các phương thức thường dùng: Pop, Push, Peek

+ Hàng đợi (Queue)

Lớp Queue dùng để biểu diễn cấu trúc hàng đợi có thể chứa các giá trị có kiểu dữ liệu khác nhau. Thuộc namespace System.Collections.

Lớp Stack biểu diễn cấu trúc hàng đợi chứa các giá trị cùng kiểu dữ liệu. Thuộc namespace System.Collections.Generics

Một số thuộc tính thường dùng: Capacity, Count

Các phương thức thường dùng: Enqueue, Dequeue, Peek

Bài tập (1 tiết)

- Yêu cầu SV chuẩn bị:

Đọc trước và làm các ví dụ trong tài liệu [1] tập 1

Đọc tài liệu [6] chương 10 trang 309 - 339

Tự đọc:

Bài giảng 6: Cấu trúc dữ liệu trong C# (tiếp) + thực hành

Chương 3, mục 3.3

Tiết thứ: 16 - 18 Tuần thứ: 6

- Mục đích, yêu cầu:

+ Nắm được cách sử dụng một số cấu dữ liệu tổng quát trong C#: Mảng động (List), danh sách sắp xếp (SortedList)

+ Áp dụng cấu trúc dữ liệu tổng quát, làm các bài tập chương 3.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, thực hành, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 1 tiết; Thực hành: 2 tiết, Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

3.3 Các cấu trúc dữ liệu tổng quát trong C# (1 tiết)

- Mảng động ArrayList

+ ArrayList dùng để biểu diễn mảng động, các phần tử có thể có kiểu dữ liệu khác nhau.

+Thuộc namespace System.Collections

+ Các thuộc tính thường dùng: Capacity, Count

+ Truy cập các phần tử: sử dụng toán tử chỉ mục []

+ Các phương thức thường dùng: Add, AddRange, Clear

- Mảng động List.

+ List dùng để biểu diễn mảng động, các phần tử có thể có kiểu dữ liệu khác nhau.

+ Thuộc namespace System.Collections.Generic

+ Các thuộc tính thường dùng: Capacity, Count

+ Truy cập các phần tử: sử dụng toán tử chỉ mục []

+ Các phương thức thường dùng: Add, AddRange, Clear

- Danh sách sắp xếp SortedList.

+ SortedList dùng để biểu diễn các cặp khóa/ giá trị (key/value), các phần tử được sắp xếp và tìm kiếm theo trường khóa.

+ Thuộc namespace System.Collections.Generic

+ Các thuộc tính thường dùng: Capacity, Count

+ Truy cập các phần tử:

Có thể truy cập toàn bộ các giá trị sử dụng mảng thuộc tính Values

Có thể truy cập toàn bộ các khóa sử dụng mảng thuộc tính Keys

Tìm phần tử khi biết khóa: sử dụng phương thức TryGetValue

Các phương thức thường dùng: Add, IndexOfKey, IndexOfValue.

Bài tập chương 3. (2 tiết)

- Yêu cầu SV chuẩn bị:

Đọc trước và làm các ví dụ trong tài liệu [1] tập 1

Làm bài tập chương 3

Bài giảng 7: Lập trình Windows Form

Chương 4, mục 4.1 + 4.2

Tiết thứ: 19 - 21 Tuần thứ: 7

- Mục đích, yêu cầu:

+ Nắm được chức năng của ứng dụng windows form

+ Nắm được các công cụ thiết kế giao diện: Thanh ToolBox, thanh Layout.

+ Hiểu được mã lệnh thiết kế form.

+ Nắm được phương pháp thêm điều khiển vào form lúc thực thi.

+ Nắm được cơ chế ủy quyền và sự kiện.

+ Nắm được các thuộc tính, phương thức, sự kiện thường dùng của Form.

+ Nắm được vai trò của các điều khiển, các nhóm điều khiển, các thuộc tính, phương thức, sự kiện thường dùng của điều khiển.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

4..1. Các kiến thức chung về ứng dụng Windows Form (2 tiết)

- Chức năng của Windows Form.

+ Mang các điều khiển (control).

+ Xử lý nhập liệu của người dùng.

+ Hiển thị thông tin.

+ Truy cập các tài nguyên: bộ nhớ, máy in, files, thư mục, các CSDL trên hệ thống máy khác

- Sử dụng các công cụ để thiết kế giao diện cho Form.

+ Kéo thả các điều khiển trên thanh ToolBox vào Form để thiết kế giao diện.

+ Sử dụng các chức năng của thanh Layout để căn chỉnh nhanh các điều khiển trên Form.

+ Sử dụng TabOrder để thiết lập thứ tự chuyển focus đến các điều khiển khi người dùng nhấn phím Tab.

- Tìm hiểu về sự kiện

+ Mô hình lập trình GUI (Graphical User Interface) có cơ chế lập trình điều khiển sự kiện. Khi người dùng có một hành động nào đó: click vào nút bấm, di chuyển chuột trên form, … sẽ có một sự kiện phát sinh.

+ Một số sự kiện phát sinh mà không cần sự can thiệp trực tiếp từ người dùng: sự kiện tick của timer, sự kiện Load của form, …

+ Cách gắn thêm ủy quyền vào một sự kiện của Form

Bước 1: Khai báo phương thức ủy quyền có kiểu trả về là void, có 2 tham số kiểu object và EventArgs

private void frmBoard_Resize(object sender, EventArgs e)

{

// Hiển thị chiều rộng và chiều cao của form lên tiêu đề form

this.Text = Width.ToString() + "," + Height.ToString();

}

+ Bước 2: Thêm ủy quyền phương thức vào sự kiện: ví dụ trong sự kiện Load Form hoặc InitializeComponent viết lệnh:

this.Resize += new System.EventHandler(this.frmBoard_Resize);

- Các thuộc tính, phương thức, sự kiện cơ bản của Form

+ Các thuộc tính thường dùng của Form: AcceptButton, ActiveMDIChild, CancelButton, FormBorderStyle, Menu, Opacity, MaximizeBox, MinimizeBox, ShowInTaskbar, StartPosition, WindowState

+ Các phương thức thường dùng của Form: Activate, Close, CenterToScreen, ShowDialog, Show

+ Các sự kiện thường dùng của Form: Activated, Click, Deactivate, FormClosed, FormClosing, GotFocus, Load, Resize

4.2. Các kiến thức chung về điều khiển (Control) trong ứng dụng Windows Form (1 tiết)

- Lớp Control là lớp cơ sở của tất cả các điều khiển.

- Các nhóm điều khiển (Control): Các điều khiển cơ bản (Basic control), Các điều khiển lựa chọn (Value setting), Các điều khiển chọn giá trị từ danh sách ( Selection List), Điều khiển có thể mang các điều khiển khác (Grouping), …

+Các điều khiển cơ bản (Basic Controls): Là các điều khiển thường xuyên được sử dụng, ví dụ Label, Button, TextBox

+Điều khiển lựa chọn giá trị: Các điều khiển này cho phép chọn một phương án hoặc nhiều phương án từ tập các phương án đã cho. Ví dụ: RadioButton, CheckBox

+Điều khiển lựa chọn giá trị từ danh sách: Các điều khiển này cho phép chọn giá trị từ một danh sách giá trị đã cho. Ví dụ: ListBox, NumericUpDown, ComboBox

+Điều khiển nhóm: Các điều khiển này cho phép nhóm các điều khiển khác nhau như Label, TextBox, Button thành một nhóm để hiển thị hoặc mang thông tin nào đó cho người dùng: Panel, GroupBox

+Điều khiển đồ họa: Các điều khiển này cho phép hiển thị hình ảnh trên Form: PictureBox

+Điều khiển trình đơn (menu): Các điều khiển này cho phép tạo menu chính hoặc menu ngữ cảnh giống như các ứng dụng Window như Microsoft Word, Excel

+Điều khiển nhập giá trị ngày giờ: Cho phép hiển thị hoặc lựa chọn giá trị ngày tháng: DateTimePicker

- Các thuộc tính, phương thức,sự kiện thông dụng của lớp Control

+ Các thuộc tính cơ bản: AllowDrop, Anchor, AutoScrollOffset, BackColor, BackgroundImage, BackgroundImageLayout, Top, Bottom, Left, Right, …

+ Phương thức cơ bản: Focus, FindForm, …

+ Các sự kiện: Click, DoubleClick, MouseEnter, MouseLeave, MouseDown, MouseUp, MouseMove, MouseHover, MouseWheel, KeyDown, KeyPress, KeyUp, DragDrop, DragEnter,DragLeave, DragOver, Paint, …

- Thêm điều khiển vào Form sử dụng Windows Forms Designer and Toolbox, tìm hiểu mã lệnh trong Windows Forms Designer.

- Thêm điều khiển vào Form lúc thực thi.

+ Khai báo và tạo đối tượng điều khiển cần thêm.

+ Thiết lập các thuộc tính cho đối tượng: Location (vị trí), Size (Kích thước), Name (Tên), …

+ Để thêm điều khiển vào Form, dùng lệnh this.Controls.Add(tên điều khiển), hoặc this.Controls.AddRange(mảng các điều khiển);

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [1], tập 2 chương 1 và 2

Đọc và làm bài tập trong tài liệu [4] từ trang 540 - 575

Tự đọc ví dụ trong tài liệu.

Bài giảng 8: Lập trình Windows Form (tiếp)

Chương 4, mục 4.3

Tiết thứ: 22 - 24 Tuần thứ: 8

- Mục đích, yêu cầu:

+ Nắm được cách sử dụng các điều khiển cơ bản để xây dựng giao diện cho người dùng tương tác với ứng dụng.

+ Biết cách điều khiển sự kiện của các điều khiển.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

4.3 Các điều khiển cơ bản (3 tiết)

- Các điều khiển cơ bản: Button, Label, TextBox, …

+ Button

Chức năng: Cho phép người dùng tương tác với ứng dụng, người dùng có thể Click vào Button để yêu cầu thực hiên một hành động nào đó.

Thuộc tính: DialogResult, Enabled, FlatStyle, Image, Name, Text

Phương thức: Focus, PerformClick

Sự kiện: Click, DoubleClick, MouseDoubleClick

+ Label

Chức năng: Điều khiển Label dùng để hiển thị thông tin chi tiết. Mục đích chính của Label dùng để ghi chú thích cho các điều khiển khác.

+ Các thuộc tính thường dùng: Name, Text, TextAlign, UseMnemonic.

Phương thức thường dùng: Hide, Show

Sự kiện thường dùng: Click

+ TextBox và MaskedTextBox

Chức năng: TextBox và MaskedTextBox dùng để yêu cầu người dùng nhập thông tin.

MaskedTextBox mở rộng chức năng của TextBox trong việc xác thực và kiểm tra: Tổng số ký tự, số và ký tự, các ký tự đặc biệt (/ hoặc -), ký tự hoa – thường.

Thuộc tính thường dùng của TextBox: CharacterCasing, MaxLength, MultiLine, Name, PasswordChar, ReadOnly, Text.

Phương thức: AppendText, Clear, Copy, Focus

Sự kiện: KeyPress, Leave, TextChanged

Thuộc tính thường dùng của MaskTextBox: Mask, MaskFull, MaskCompleted, Name, PromtChar, Text

Phương thức: GetPositionFromCharIndex, IsKeyLocked, SelectAll

Sự kiện: MaskedChanged, MaskedInputRejected.

- Các điều khiển lựa chọn giá trị: CheckBox, RadioButton.

+ RadioButton:

Chức năng: Cho phép người dùng chọn một giá trị từ tập các giá trị. Nghĩa là tại một thời điểm chỉ một phương án được chọn từ một tập các phương án đã cho.

Thuộc tính: Appearance, AutoCheck, Checked, Image

Phương thức: PerformClick, Select, Show

Sự kiện: CheckedChanged, Click

+ CheckBox

Chức năng: Cho phép người dùng chọn nhiều phương án từ tập các phương án đã cho.

Thuộc tính: Checked, CheckState, ThreeState

Phương thức: Select, Show

Sự kiện: CheckedChanged, CheckStateChanged, Click

- Các điều khiển chọn giá trị từ danh sách: ListBox, ComboBox, NumericUpDown.

+ ListBox

Chức năng: Cho chọn một hoặc nhiều giá trị từ một danh sách các giá trị đã cho. Người dùng không sửa được danh sách các giá trị.

Thuộc tính: DisplayMember, Items, SelectionMode, SelectedIndex, Text, ValueMember

Phương thức: ClearSelected, GetItemText, GetSelected, SetSelected

Sự kiện: SelectedIndexChanged, SelectedValueChanged, ValueMemberChanged.

+ ComboBox

Chức năng: Giống như ListBox, tuy nhiên ComboBox chỉ cho người dùng chọn một giá trị tại một thời điểm. Người dùng cũng có thể gõ thêm giá trị khác ngoài các giá trị có trong danh sách.

Thuộc tính: DropDownStyle, Items, MaxDropDownItems, SelectedItem, SelectedIndex, Text, ValueMember.

Phương thức: GetItemText, SelectAll, Select

Sự kiện: DropDown, SelectedIndexChanged, SelectedValueChanged, ValueMemberChanged.

+ NumericUpDown

Chức năng: Cho phép người dùng chọn giá trị số trong khoảng giá trị. Điều khiển này chỉ cho phép chọn một giá trị tại một thời điểm.

Thuộc tính: Increment, Maximum, Minimum, ThousandsSeparator, Value

Phương thức: DownButton, UpButton

Sự kiện: ValueChanged

- Các điều khiển đồ họa (Graphic Control) và điều khiển có thể chứa điều khiển khác (Grouping Control) : PictureBox, Panel, GroupBox, SplitContainer.

+ Panel

Chức năng: Là điều khiển cho phép chứa các điều khiển khác. Cho phép đặt các điều khiển có quan hệ logic với nhau thành một nhóm.

Thuộc tính: AutoSize, AutoSizeMode, BorderStyle

Phương thức: Select, Show

Sự kiện: StyleChanged, VisibleChanged

+ GroupBox

Chức năng: Giống như Panel, dùng để nhóm các điều khiển thành một nhóm. Điều khiển này có đường viền bao quanh và hiển thị tiêu đề của nhóm.

Thuộc tính: Anchor, AutoSize, FlatStyle

Phương thức: Hide, Show.

Sự kiện: Resize, StyleChanged

+ PictureBox

Chức năng: Dùng để hiển thị một hình ảnh trên form. Có thể hiển thị các hình ảnh bitmap như: GIF, JPEG hoặc file icon. PictureBox chỉ hiển thị được 1 ảnh tại một thời điểm.

Thuộc tính: Image, ErrorImage, InitialImage, SizeMode

Phương thức: Load, LoadAsync

Sự kiện: Click, Leave, LoadComplete

+ ImageList

Chức năng: Là một Componet dùng để lưu trữ tập các hình ảnh. Các hình ảnh trong ImageList dùng để hiển thị lên điều khiển khác: trình đơn (menu), TreeView, ListView.

Thuộc tính: ColorDepth, Images, ImageSize, Name,

Phương thức: Draw

Sự kiện: RectangleHandle.

- Các điều khiển nhập giá trị thời gian: Timer, MonthCalendar, DateTimePicker

+ DateTimePicker

Chức năng: Cho phép chọn chọn một giá trị trong tập các giá trị ngày hoặc thời gian. Hình dạng của DateTimePicker giống như TextBox, nó nút hiển thị cửa sổ lịch và ngày hiện tại theo định dạng cụ thể.

Thuộc tính: CustomFormat, Format, MinDate, MaxDate, ShowCheckBox, Value

Phương thức: Focus, Show

Sự kiện: Click, FormatChanged, ValueChanged

+ MonthCalendar

Chức năng: Cho phép hiển thị và lựa chọn một ngày với giao diện dạng lịch. MonthCalendar giống DateTimePicker, tuy nhiên nó cho chọn nhiều giá trị ngày tháng tại cùng một thời điểm và không hiển thị giá trị thời gian.

Thuộc tính: CalendarDimensions, ShowToday, ShowTodayCircle, ShowWeekNumbers, TodayDate

Phương thức: AddAnnuallyBoldedDate, AddBoldedDate, AddMonthlyBoldedDate, RemoveAnnuallyBoldedDate, RemoveBoldedDate, RemoveMonthlyBoldedDate, SetDate, UpdateBoldedDates,

Sự kiện: Click, DateChanged, DateSelected.

+ Timer

Chức năng: Cho phép tự động phát sinh một sự kiện sau một khoảng thời gian. Nó giống như đồng hồ bấm giờ được sử dụng trong cuộc thi chạy để xác định thời gian người chạy chạm đích.

Thuộc tính: Enable, Interval

Phương thức: Start, Stop

Sự kiện: Tick

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [1] tập 2, chương 3, 6

Đọc và làm bài tập trong tài liệu [3] phần 2, từ mục 9 (trang 263) – mục 13 (trang 410)

Tự đọc ví dụ trong tài liệu.

Bài giảng 9: Lập trình Windows Form (tiếp )

Chương 4, mục 4.4

Tiết thứ: 25 - 27 Tuần thứ: 9

- Mục đích, yêu cầu:

+ Nắm được cách sử dụng một số điều khiển nâng cao: ListView, RichTextBox, TreeView.

+ Sử dụng các hộp thoại: OpenFileDialog, SaveFileDialog, ColorDialog, FontDialog.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

4.4. Các điều khiển nâng cao (3 tiết)

- ListView

+ Chức năng: Cho phép hiển thị tập các phần tử của nó trong một danh sách. Nó hiển thị giống như mục Views trong thanh công cụ Standard của Windows Explorer. Có 5 cách hiển thị chính:

Tile: Các phần tử được hiển thị theo dòng, với kích thước thực tế của ảnh biểu tượng.

List: Các phần tử được hiển thị theo danh sách kết hợp với ảnh biểu tượng ở chế độ kích thước nhỏ.

Detail: Các phần tử được hiển thị được hiển thị như một danh sách với đầy đủ các thông tin chi tiết.

SmallIcon: Các phần tử hiển thị như một biểu tượng kích thước nhỏ, nhãn được ghi ở bên phải.

LargeIcon: Mỗi phần tử được hiển thị đầu đủ kích thước, nhãn được ghi ở bên dưới.

+ Thuộc tính: Columns, Items, MultiSelect, SelectedItems, View

+ Phương thức: ArrangeIcons, Clear, GetItemAt, Sort

+ Sự kiện: ColumnClick, ItemCheck, ItemSelectionChanged, SelectedIndexChanged.

- RichTextBox

+ Chức năng: Dùng để hiển thị, nhập và thao tác dữ liệu văn bản. Điều khiển này tương tự ứng dụng WordPad, cho phép định dạng văn bản như: Chữ in đậm, liên kết, thay đổi font, … Điều khiển này cũng có thể nạp văn bản, nhúng hình ảnh từ tệp, cung cấp các thao tác Undo, Redo và tìm kiếm các ký tự.

Theo mặc định, RichTextBox hiển thị cả thanh cuốn dọc và ngang, nó có thể truy cập các tệp có định dạng RTF (Rich Text Format).

+ Thuộc tính: Font, ScrollBars, SelectedText, SelectionFont, SelectionLength, Text, WordWrap

+ Phương thức: AppendText, Copy, Paste, Redo, Undo, SelectAll.

+ Sự kiện: Click, Hscroll, VScroll

- TreeView

+ Chức năng: Dùng để hiển thị dữ liệu theo một cấu trúc phân cấp. Điều khiển này tương tự như thanh bên trái của Windows Explorer. Điều khiển TreeView có 3 loại nút (node):

Nút gốc (Root): Là node chính có một hoặc nhiều node con nhưng không có node cha.

Nút cha (Parent): Là node dưới node gốc và có một hoặc nhiều node con.

Nút lá: là node có cha nhưng không có node con, là node cuối cùng trong phân cấp.

+ Thuộc tính: Nodes, SelectedNode, ShowPlusMinus, ShowRootLines, TopNode

+ Phương thức: CollapseAll, ExpandAll, GetNodeAt, GetNodeCount.

+ Sự kiện: AfterCollapse, AfterExpand, AfterSelect, ItemDrag, NodeMouseClick

- ProgressBar

+ Chức năng: Điều khiển ProgressBar được dùng để hiển thị tiến trình của một công việc được thực hiện trong ứng dụng.

+ Thuộc tính: Increment, Maximum, Minimum, PerformStep, Step, Style, Value

- Các hộp thoại:

Hộp thoại là cửa sổ đặc biệt, thường được dùng để tương tác với người dùng và hiển thị thông tin. Các hộp thoại đều được kế thừa từ lớp CommonDialog trong namespace System.Windows.Forms.

Có 2 loại hộp thoại: Các hộp thoại hệ thống (Common Dialog Box) như Open, Save, Print, …, các hộp thoại do người dùng định nghĩa (Custom Dialog Box).

Một số thuộc tính, phương thức, sự kiện thường dùng: Tag, Reset, ShowDialog, HelpRequest.

+ Chọn đường dẫn mở file (OpenFileDialog), Chọn đường dẫn lưu file (SaveFileDialog)

Thuộc tính: CheckFileExists, FileName, Filter, MultiSelect, Title

+ Chọn màu: ColorDialog

Chức năng: Cho phép chọn một màu trong hệ thống từ một bảng màu. Nó cũng cho phép định nghĩa các màu khác sử dụng giá trị các màu RGB. ColorDialog giống như hộp chọn màu trong MicrosoftWord.

Thuộc tính: AllowFullOpen, AnyColor, Color, CustomColors, Reset

+ Chọn font chữ: FontDialog.

Chức năng: Cho phép chọn các font đã được cài đặt trong hệ thống. Hộp thoại này thường được dùng để thay đổi font chữ trong một ứng dụng. Người dùng có thể chọn các font, kiểu font, kích thước hoặc các hiệu ứng khác nhau.

Thuộc tính: Color, Font, MaxSize, MinSize, ShowApply, ShowEffects, Apply.

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [1] tập 2, chương 4, 7

Đọc và làm ví dụ trong tài liệu [3] mục 3 từ trang 437 - 603

Bài giảng 10: Lập trình Windows Form – Bài tập

Chương 4

Tiết thứ: 28 - 30 Tuần thứ: 10

- Mục đích, yêu cầu:

+ Ôn tập các kiến thức về lập trình Windows Form.

+ Sử dụng các điều khiển cơ bản, xây dựng giao diện người dùng.

+ Xây dựng ứng dụng Windows Form để nhập và hiển thị thông tin, sử dụng đa dạng các điều khiển.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, thực hành

- Thời gian: Lý thuyết, thảo luận: 0; Thực hành: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

- Xây dựng ứng dụng Windows Form để nhập liệu và hiển thị thông tin (3 tiết).

- Yêu cầu SV chuẩn bị:

+ Ôn tập, nắm vững các kiến thức về lập trình Windows Form

+ Xây dựng ứng dụng window form để nhập liệu cho một số đối tượng đã xây dựng trong chương 2.

Bài giảng 11: Lập trình Windows Form (tiếp)

Chương 4, mục 4.5

Tiết thứ: 31 - 33 Tuần thứ: 11

- Mục đích, yêu cầu:

+ Nắm được phương pháp thiết lập, hiển thị Form cha, Form con.

+ Cách điều khiển hoạt động các Form trong ứng dụng đa tài liệu.

+ Xây dựng được trình đơn chính (Main Menu) cho ứng dụng.

+ Xây dựng menu ngữ cảnh, liên kết menu ngữ cảnh vào điều khiển

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

4.5. Ứng dụng đa tài liệu (Multiple Document Interface – MDI) (3 tiết)

- Ứng dụng đa tài liệu là ứng dụng có thể mở nhiều cửa sổ (form) con trong một vùng làm việc của ứng dụng. Người dùng có thể làm việc với bất kỳ một cửa sổ nào bằng cách chuyển đến chúng.

Một số thuận lợi khi xây dựng ứng dụng đa tài liệu:

+ Tổ chức chương trình có hệ thống hơn.

+ Sử dụng ít bộ nhớ hơn

+ Tăng tính hiệu quả

+ Dễ dàng xây dựng

Các bất lợi khi xây dựng ứng dụng đa tài liệu:

+ Người dùng dễ nhầm lẫn khi làm việc với nhiều form.

- Thiết lập Form cha, form con

+ Một ứng dụng đa tài liệu chỉ chứa một form cha và có thể nhiều form con. Các form con được mở trong form cha.

+ Để tạo MDI form, gán thuộc tính IsMdiContainer của form bằng true.

+ Form con chỉ được mở trong phạm vi của form cha.

+ Nếu form cha đóng, tất cả các form con sẽ bị đóng.

+ Nếu tất cả các form con bị đóng, form cha không bị đóng.

+ Để thiết lập form cha cho một form con, sử dụng thuộc tính MdiParent

Ví dụ:

this.IsMdiContainer = true;

Form frmchild = new Form();

frmchild.MdiParent = this;

frmchild.Show();

- Các thuộc tính, phương thức, sự kiện của form thường dùng trong ứng dụng MDI: ActiveMdiChild, IsMdiChild, IsMdiContainer, MdiChildren, MdiParent, ActivateMdiChild, LayoutMdi, Show, MdiChildActivate.

- Xây dựng ứng dụng có nhiều cửa sổ.

- Sử dụng thuộc tính MdiChildren của form cha để tìm tất cả các form con trong nó.

- Sử dụng thuộc tính MdiParent của form con để tìm form cha.

- Trình đơn (Menu):

+ Menu chính (Main Menu) và menu ngữ cảnh (Context Menu)

+ Liên kết menu ngữ cảnh vào điều khiển (Control).

Sử dụng thuộc tính ContextMenu của điều khiển để liên kết nó với menu ngữ cảnh.

+ Sử dụng một phần menu chính làm cho menu ngữ cảnh.

Sử dụng phương thức CloneMenu của lớp MenuItem để sao một phần của menu chính sang menu ngữ cảnh.

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [1] chương 5

Đọc tài liệu [2] mục 6.4, 6.5, 6.11, 6.12

Tự đọc ví dụ trong tài liệu

Bài giảng 12: Lập trình Windows Form - Bài tập

Chương 4

Tiết thứ: 34 - 36 Tuần thứ: 12

- Mục đích, yêu cầu:

+ Ôn tập các kiến thức về lập trình Windows Form.

+ Sử dụng các điều khiển nâng cao để thiết kế các giao diện phức tạp.

+ Xây dựng được ứng dụng đa tài liệu, điều khiển hoạt động của các Form trong ứng dụng đa tài liệu.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, thực hành, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận:; Thực hành: 3 tiết Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

+ Xây dựng ứng dụng đa tài liệu, có sử dụng Treeview, ListView trong thiết kế giao diện.

- Yêu cầu SV chuẩn bị:

Ôn tập kiến thức lập trình Windows Form, mục 4.4, 4.5

Làm bài tập chương 4

Bài giảng 13: Lập trình kết nối cơ sở dữ liệu

Chương 5, mục 5.1 + 5.2

Tiết thứ: 37 - 39 Tuần thứ: 13

- Mục đích, yêu cầu:

+ Nắm được các thành phần của .

+ Nắm được cách tổ chức của mô hình ứng dụng đa tầng, đa lớp.

+ Tìm hiểu các Provider kết nối với các hệ quản trị cơ sở dữ liệu đã học.

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

5.1. Các kiến thức chung về (2 tiết)

- Tìm hiểu kiến trúc của

là công nghệ truy cập dữ liệu, cho phép truy cập dữ liệu được lưu ở nhiều nguồn khác nhau. là một phần của .NET Framework, do đó nó được sử dụng cho tất cả các ứng dụng nền .NET.

có thể kết nối đến nhiều hệ thống dữ liệu: Microsoft SQL Server, Oracle, Microsoft Access, …

- Mô hình ứng dụng đa tầng, đa lớp

+ Kiến trúc một tầng: ứng dụng được chạy và truy cập cơ sở dữ liệu trên máy cá nhân. Giao diện người dùng, kiểm tra logic dữ liệu, dữ liệu được lưu trữ trên cùng 1 máy.

+ Kiến trúc hai tầng: là kiến trúc client/server mà cơ sở dữ liệu được lưu trữ và bảo trì ở máy chủ (server). Máy khách (client) kết nối và thao tác với cơ sở dữ liệu ở máy chủ.

+ Kiến trúc ba tầng, thường được sử dụng để xây dụng ứng dụng web. Là kiến trúc đa tầng client/server, máy client kết nối đến một hoặc nhiều ứng dụng máy chủ. Các ứng dụng này lại kết nối với cơ sở dữ liệu của máy chủ khác.

- Công nghệ

- Các đặc tính của

+ Xử lý bất đồng bộ

+ Thực thi với tập các kết quả trên cùng một kết nối.

+ Hỗ trợ dữ liệu XML

+ Thực hiện các thao tác copy khối dữ liệu

+ Xử lý theo lô

+ Dò vết

+ Điều khiển tập các kết nối.

- Mô hình truy cập dữ liệu

Có 2 thành phần quan trọng của là DataSet và Provider. Data Provider được sử dụng để cung cấp và bảo đảm kết nối đến CSDL. DataSet dùng để lưu trữ dữ liệu kết quả thu được từ cơ sở dữ liệu nguồn trên máy client. Có thể thao tác và cập nhập dữ liệu trên DataSet độc lập với dữ liệu nguồn ban đầu.

- Các lợi ích của công nghệ

+ Mô hình lập trình đơn giản

+ Dễ tương tác.

+ Dễ bảo trì

+ Dễ lập trình

+ Hiệu quả

+ Dễ mở rộng

5.2. Tìm hiểu các Provider dùng để kết nối tới các hệ quản trị CSDL khác nhau (1 tiết)

- .Net Framework data cho SQL Server: Cho phép truy cập đến cơ sở dữ liệu Microsoft SQL Server

- .Net Framework data cho OLE DB: Cho phép truy cập đến các cơ sở dữ liệu quan hệ như Microsoft Access và Oracle. Nó cung cấp cả giao dịch cục bộ và phân tán.

- .NET Framework data cho ODBC: Cho phép truy cập đến các dữ liệu nguồn ODBC.

- .NET Framework cho Oracle: Cho phép truy cập dữ liệu Oracle

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [5] chương 1

Chuẩn bị cơ sở dữ liệu ví dụ.

Bài giảng 14: Lập trình kết nối cơ sở dữ liệu (tiếp)

Chương 5, mục 5.3

Tiết thứ: 40 - 42 Tuần thứ: 14

- Mục đích, yêu cầu:

+ Nắm được các bước để kết nối, thao tác, đóng kết nối cơ sở dữ liệu.

+ Sử dụng được các lớp dùng để thực thi câu lệnh thao tác cơ sở dữ liệu: DataAdapter, DataReader, Command.

+ Viết ứng dụng Windows Form kết nối thực hiện các thao tác và hiển thị dữ liệu, kết xuất dữ liệu tạo báo cáo..

- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu

- Thời gian: Lý thuyết, thảo luận: 3 tiết; Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

5.3 Sử dụng để kết nối ứng dụng với CSDL (3 tiết)

Lớp Connection dùng để tạo một kết nối đến cơ sở dữ liệu. Tương ứng với các Provider khác nhau có các lớp như sau: SqlConnection, OleDbConnection, and OdbcConnection

Lớp Command dùng để tạo đối tượng thực thi các lệnh thao tác cơ sở dữ liệu. Tương ứng với các Provider có các lớp như sau: SqlCommand, OleDbCommand, and OdbcCommand

Lớp DataAdapter dùng để lấy dữ liệu nguồn vào một DataTable hoặc một DataSet. Tương ứng với các Provider có các lớp: SqlDataAdapter, OleDbDataAdapter, and OdbcDataAdapter

Lớp DataReader dùng để đọc từng dòng từ cơ sở dữ liệu, sử dụng đối tượng Command. Có các lớp SqlDataReader, OleDbDataReader, and OdbcDataReader

Để thao tác với cơ sở dữ liệu Microsoft Sql Server, ta sử dụng các lớp có tiền tố Sql.

- Tìm hiểu các lớp Data, DataSet

- Tạo Connection để kết nối đến CSDL

+ Các thuộc tính thường dùng: ConnectionString , ConnectionTimeout , Database, DataSource, PacketSize, ServerVersion, State, WorkstationId

+ Các phương thức thường dùng: BeginTransaction(), ChangeDatabase(), Close(), CreateCommand(), Open()

+ Sự kiện: StateChange, InfoMessage

- Tạo Command để thực thi câu lệnh thao tác CSDL.

+ Thuộc tính: CommandText,CommandTimeout, CommandType, Connection, DesignTimeVisible, Parameters, Transaction, UpdatedRowSource

+ Phương thức: Cancel(), CreateParameter(), ExecuteNonQuery(), ExecuteReader(), ExecuteScalar(), ExecuteXmlReader(), Prepare(), ResetCommandTimeout()

- Sử dụng DataAdapter để lấy dữ liệu từ CSDL nguồn vào DataSet

+ Thuộc tính: AcceptChangesDuringFill, ContinueUpdateOnError, DeleteCommand, InsertCommand, MissingMappingAction, MissingSchemaAction, SelectCommand, TableMappings, UpdateCommand

+ Phương thức: Fill(), FillSchema(), GetFillParameters(), Update()

+ Sự kiện: FillError, RowUpdating, RowUpdated

- Đọc từng bản ghi với DataReader

+ Thuộc tính: Depth, FieldCount, IsClosed, RecordsAffected

+ Phương thức: Để lấy giá trị tại một ô của bản ghi hiện thời, dùng các phương thức Get tương ứng với kiểu dữ liệu của cột đó. Ví dụ: GetDateTime(), GetDecimal(), GetDouble(), …

- Nạp dữ liệu vào các control

- Yêu cầu SV chuẩn bị:

Đọc trước tài liệu [1] tập 3 chương 1, 2, 3, 4

Tìm hiểu ứng dụng ví dụ trong tài liệu [1] tập 3

Đọc và làm ví dụ trong tài liệu 5 từ chương 7 – chương 12

Bài giảng 15: Lập trình kết nối cơ sở dữ liệu – thực hành

Chương 5 – thực hành

Tiết thứ: 43 - 45 Tuần thứ: 15

- Mục đích, yêu cầu:

+ Ôn tập củng cố lại các kiến thức trong chương 5.

+ Viết ứng dụng thực hiện chức năng cập nhật, kết xuất báo cáo đối với cơ sở dữ liệu ví dụ đã xây dựng.

+ Hệ thống lại các bài tập ôn luyện thi kết thúc học phần.

- Hình thức tổ chức dạy học: Lý thuyết, thực hành, thảo luận, tự học, tự nghiên cứu

- Thời gian: Thực hành 3 tiết, Tự học, tự nghiên cứu: 3 tiết

- Địa điểm: Giảng đường do P2 phân công.

- Nội dung chính:

+ Xây dựng ứng dụng Windows Form kết nối với cơ sở dữ liệu đã xây dựng từ trước.

+ Giải đáp các câu hỏi về nội dung học, thi kết thúc học phần (1 tiết).

- Yêu cầu SV chuẩn bị:

+ Nắm chắc thời gian, địa điểm, quy chế, nội dung thi kết thúc học phần.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches