WINDOWS CONTROLS
GUI hỗ trợ
TỔNG QUAN VỀ ADO.NET
Đối tượng DataSet
CÁC THÀNH PHẦN CỦA DATASET
Đối tượng DataRow, DataColumn và DataRelation
CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU
DataGrid
XÂY DỰNG ỨNG DỤNG VỚI MÔ HÌNH ĐA TẦNG
Xây dựng ứng dụng với mô hình 3-layer
5.1.1 Tổ chức cây thư mục
5.1.3 Xây dựng lớp xử lý lưu trữ
5.1.4 Xây dựng các lớp xử lý nghiệp vụ
5.1.5 Hiển thị dữ liệu và thao tác trên màn hình
CRYSTAL REPORT
Crystal report
6.1.2 Sử dụng crystal report để hiển thị report
6.1.3 Tạo nguồn dữ liệu cho report từ DataSet
6.1.4 Tạo nguồn dữ liệu cho report từ nguồn CSDL
6.1.5 Lọc dữ liệu trên report
6.1.6 Truyền tham số cho report
Lý thuyết Thực hành Kiểm
6.1.7 Xuất report ra máy in
6.1.8 Xuất report ra tập tin
Chương 1 Windows Controls Thời gian: 15 giờ
- Trình bày được về chức năng và cách thức sử dụng của các điều khiển
(windows controls) trong lập trình ứng dụng trên windows
- Trình bày được cách thức kết hợp sử dụng của các điều khiển trong lập trình ứng dụng trên windows
- Thiết kế một ứng dụng windows forms cho một bài toán cụ thể
1.6 Tổng quan ứng dụng document Interface
Chương 2 Tổng quan về ADO.NET Thời gian: 10 giờ
- Trình bày được các đối tượng của ADP.NET Sử dụng được đối tượng
Connection để kết nối tới nguồn dữ lieu
- Thực hiện được các thao tác trên nguồn dữ liệu bằng đối tượng Command
- Sử dụng được đối tượng DataAdapter để lấy cấu trúc và dữ liệu của các bảng trong nguồn dữ liệu
2.1 Tổng quan về ADO.NET
2.2 Các độ tượng trong ADO.NET
Chương 3 Các thành phần của DataSet Thời gian: 10 giờ
- Trình bày được các thành phần của đối tượng DataSet Sử dụng được DataSet để xây dựng ứng dụng
3.2 Đối tượng DataRow, DataColumn và DataRelation
Chương 4 Các điều khiển liên kết dữ liệu Thời gian: 10 giờ
- Trình bày được các thuộc tính các điều khiển lien kết dữ liệu
- Trình bày được các phương thức của các điều khiển lien kết dữ liệu
- Sử dụng được các điều khiển để xây dựng ứng dụng
Chương 5 Xây dựng ứng dụng với mô hình đa tầng Thời gian: 15 giờ
- Trình bày được các kiến thức của mô hình đa tầng
- Sử dụng được mô hình đa tầng để xây dựng ứng dụng
5.1 Xây dựng ứng dụng với mô hình 3-layer
5.1.1 Tổ chức cây thư mục
5.1.3 Xây dựng lớp xử lý lưu trữ
5.1.4 Xây dựng các lớp xử lý nghiệp vụ
5.1.5 Hiển thị dữ liệu và thao tác trên màn hình
Chương 6 Crystal report Thời gian: 15 giờ
- Trình bày được các kiến thwucs về Crystal Report
- Tạo được các kiểu Report
- Xây dựng được ứng dụng có sử dụng Report
- Đóng gói được một phần mềm
6.1.2 Sử dụng crystal report để hiển thị report
6.1.3 Tạo nguồn dữ liệu cho report từ DataSet
6.1.4 Tạo nguồn dữ liệu cho report từ nguồn CSDL
6.1.5 Lọc dữ liệu trên report
6.1.6 Truyền tham số cho report
6.1.7 Xuất report ra máy in
6.1.8 Xuất report ra tập tin
IV Điều kiện thực hiện môn học:
1 Phòng học chuyên môn hóa/nhà xưởng: Phòng học thực hành
2 Trang thiết bị máy móc: Máy chiếu, máy tính có phần mềm Visual Studio
3 Học liệu, dụng cụ, nguyên vật liệu: Bảng, bút viết bảng
4 Các điều kiện khác: máy tính có kết nối Internet
V Nội dung và phương pháp, đánh giá:
- Kiến thức: Được đánh giá qua bài kiểm tra và thực hành cuối môn đạt được các yêu cầu sau:
Một ứng dụng liên quan đến cơ sở dữ liệu bao gồm nhiều thành phần thiết yếu, trong đó có giao diện người dùng, logic xử lý và cơ sở dữ liệu Để kết nối đến cơ sở dữ liệu từ ngôn ngữ lập trình, cần thực hiện các bước quan trọng như thiết lập chuỗi kết nối, xác thực thông tin đăng nhập và thực hiện các câu lệnh SQL cần thiết Việc nắm vững các thành phần và bước kết nối này là rất quan trọng để phát triển ứng dụng hiệu quả và tối ưu hóa hiệu suất truy xuất dữ liệu.
+ Trình bày được các các phương pháp để tạo các biểu mẫu nhập dữ liệu thông dụng
+ Phương thức, thuộc tính của các đối tượng tương tác, xử lý dữ liệu trên các cơ sở dữ liệu
- Kỹ năng: Đánh giá kỹ năng thực hành của sinh viên trong các bài thực hành:
+ Viết và thực thi ứng dụng ADO.Net
+ Xây dựng được ứng dụng có sử dụng có sử dụng cơ sở dữ liệu
+ Thực hiện các thao tác xử lý dữ liệu trên cơ sở dữ liệu: thêm mới, xóa, sửa đổi, hiển thị,…
+ Xây dựng ứng dụng với mô hình 3-layer
- Năng lực tự chủ và trách nhiệm:
+ Cẩn thận, tự giác, kiên trì
+ Chấp hình các nội quy của phòng thực hành
STT Phương pháp Hình thức Số cột Thời gian thi
01 Kiểm tra thường xuyên Thực hành trên máy tính 2
02 Kiểm tra định kỳ Thực hành trên máy tính 2 90 phút
03 Thi kết thúc môn học Thực hành trên máy tính
VI Hướng dẫn thực hiện môn học:
1 Phạm vi áp dụng môn học: Áp dụng cho khóa học trình độ cao đẳng
2 Hướng dẫn về phương pháp giảng dạy, học tập môn học:
- Đối với giáo viên, giảng viên:
Giáo viên nên áp dụng phương pháp thuyết trình kết hợp với giảng giải và kỹ thuật gợi mở, phát vấn để khuyến khích sự tham gia tích cực của học viên trong quá trình học nghề.
Giáo viên có thể sử dụng nhiều phương tiện và dụng cụ giảng dạy hiện đại, như máy chiếu projector, laptop, sơ đồ và tranh ảnh minh họa, để làm rõ và sinh động nội dung bài học, bên cạnh các phương tiện giảng dạy truyền thống.
Trong môi trường giảng dạy lý thuyết kết hợp với thực hành, việc sử dụng phòng học chuyên môn hóa với máy tính kết nối mạng LAN và Internet, cùng với các phương tiện dạy học hình ảnh, sẽ nâng cao hiệu quả học tập.
+ Thực hiện đầy đủ và nghiêm túc các qui định đối với môn học và của giáo viên
+ Hoàn thành đầy đủ các bài thực hành và tham dự các buổi kiểm tra trên lớp
+ Kết thúc khóa học, người học sẽ làm một bài kiểm tra để xác định việc họ có hoàn thành chương trình học hay không
+ Học sinh tham gia đầy đủ các buổi lên lớp (không nghỉ quá 30% thời lượng học)
3 Những trọng tâm cần chú ý:
- Trình độ giáo viên: ít nhất phải có bằng cử nhân hoặc bằng cấp tương đương tính theo kinh nghiệm dạy học trước đó Có chứng chỉ dạy nghề
- Nguồn lực đào tạo: Những nguồn lực sau đây được khuyến khích sử dụng để bổ trợ những phương pháp giảng dạy đề xuất
+ Cơ sở vật chất, trang thiết bị giảng dạy: Lớp học có đầy đủ máy vi tính cho học sinh thực tập
+ Sách, giáo trình và tài liệu tham khảo
+ Kế hoạch giảng dạy và giáo án chi tiết của giáo viên đóng vai trò tài liệu chính được sử dụng trong quá trình giảng dạy
Giáo viên áp dụng nhiều chiến lược giảng dạy đa dạng nhằm hỗ trợ tất cả người học, bất kể đối tượng, đạt được những tiến bộ nhất định trong quá trình học tập.
Control là một thành phần cơ bản trên form
Có các thành phần o Thuộc tính o Phương thức o Sự kiện
Tất cả các control chứa trong namespace:System.Windows.Forms
Một số thuộc tính của control
Text: mô tả text xuất hiện trên control
Focus: phương thức chuyển focus vào control
TabIndex: thứ tự của control nhận focus o Mặc định được VS.NET thiết lập
Enable: thiết lập trạng thái truy cập của control
Visible: ẩn control trên form, có thể dùng phương thức Hide
Anchor: o Neo giữ control ở vị trí xác định o Cho phép control di chuyển theo vị trí
Size: xác nhận kích thước của control
BackColor Màu nền của control
BackgroundImage Ảnh nền của control
ForeColor Màu hiển thị text trên form
Enabled Xác định khi control trạng thái enable
Focused Xác định khi control nhận focus
Font Font hiển thị text trên control
TabIndex Thứ tự tab của control
TabStop Nếu true, user có thể sử dụng tab để select control
Text Text hiển thị trên form
TextAlign Canh lề text trên control
Visible Xác định hiển thị control
Khi FormBorderStyle = Sizable, form cho phép thay đổi kích thước khi Runtime o Sự bố trí của control cũng thay đổi!
Sử dụng thuộc tính Anchor o Cho phép control phản ứng lại với thao tác resize của form
Control có thể thay đổi vị trí tương ứng với việc resize của form
Control cố định không thay đổi theo việc resize của form
Left: cố định theo biên trái
Right: cố định theo biên phải
Top: cố định theo biên trên
Bottom: cố định theo biên dưới
Các control có thể gắn (dock) với một cạnh nào đó của form, hoặc container của control
- Cung cấp chuỗi thông tin chỉ dẫn
- Được định nghĩa bởi lớp Label
- Vùng cho phép user nhập dữ liệu
- Cho phép nhập dạng Password
- cho phép cài đặt 1 hành động
Font Font hiển thị của text
Text Nội dung text hiển thị
Visible Trạng thái hiển thị
AcceptsReturn Nếu true: nhấn enter tạo thành dòng mới trong chế độ multiline
Multiline Nếu true: textbox ở chế độ nhiều dòng, mặc định là false PasswordChar Chỉ hiển thị ký tự đại diện cho text
ReadOnly Nếu true: textbox hiển thị nền xám, và ko cho phép nhập liệu, mặc định là false ScrollBars Thanh cuộn cho chế độ multiline
Kích hoạt khi text bị thay đổi, trình xử lý được khởi tạo mặc định khi kích đúp vào textbox trong màn hình design view
Thuộc tính thường dùng Text Chuỗi hiển thị trên bề mặt button
Kích hoạt khi user kích vào button, khai báo mặc định khi người lập trình kích đúp vào button trong màn hình Design View của Form
- Cung cấp một danh sách các item cho phép user chọn
- ListBox cho phép hiển thị scroll nếu các item vượt quá vùng thể hiện của ListBox
Thuộc tính Items cho phép thêm item vào ListBox
ListBox hiển thị dạng Multi Column
Kiểm tra xem chuỗi nhập có trong list box?
- Nếu có: select item đó
- Ngược lại: thêm chuỗi mới vào list box
- Kết hợp TextBox với một danh sách dạng drop down
- Cho phép user kích chọn item trong danh sách drop down
Mỗi khi kích chọn một item - hiển thị item được chọn trên MessageBox
Dạng control phổ biến hiện thị một danh sách item
- Các item có thể có các item con gọi là subitem Windows Explorer hiển thị thông tin thư mục, tập tin…
Thuộc tính View cho phép hiển thị thông tin theo nhiều dạng khác nhau, bao gồm dạng chi tiết, icon nhỏ, icon lớn và tóm tắt Lớp ListView được kế thừa từ System.Windows.Forms.Control, cung cấp tính năng linh hoạt trong việc trình bày dữ liệu.
Các dạng thể hiện của ListView
Large Icons Mỗi item xuất hiện với 1 icon kích thước lớn và một label bên dưới
Small Icons Mỗi item xuất hiện với icon nhỏ và một label bên phải
List Mỗi item xuất hiện với icon nhỏ với label bên phải, item được sắp theo cột nhưng không có tiêu đề cột
Tile Mỗi item xuất hiện với icon kích thước lớn, bên phải có label chứa item và subitem
Detail Mỗi item xuất hiện trên một dòng, mỗi dòng có các cột chứa thông tin chi tiết
Tạo các cột cho ListView – Details qua
- Cửa sổ properties -> Columns để tạo
- Sử dụng code trong chương trình
Thêm các item vào ListView
Thêm item trong màn hình thiết kế form
Thêm item thông qua code Các lớp định nghĩa Item
Mỗi item trong ListView có các item phụ gọi là subitem o Lớp ListViewItem.ListViewSubItem định nghĩa các subitem của ListView o Lớp ListViewSubItem là inner class của ListViewItem
Minh họa thêm item qua code
Bố trí controls trên GUI GroupBox
Hiển thị một khung bao quanh một nhóm control
Có thể hiển thị một tiêu đề o Thuộc tính Text
Khi xóa một GroupBox thì các control chứa trong nó bị xóa theo
Lớp GroupBox kế thừa từ System.Windows.Forms.Control Panel
Có thanh cuộn (scrollbar) o Xem nhiều control khi kích thước panel giới hạn
Controls Danh sách control chứa trong GroupBox
AutoScroll Xuất hiện khi panel quá nhỏ để hiển thị hết các control, mặc định là false
BorderStyle Biên của panel, mặc định là None, các tham số khác như Fixed3D, FixedSingle Controls Danh sách control chứa trong panel
Dạng container chứa các control khác
Cho phép thể hiện nhiều page trên một form duy nhất
Mỗi trang chứa các điều khiển tương tự như các nhóm điều khiển khác, với mỗi trang có một thẻ chứa tên của trang Người dùng có thể nhấp vào các thẻ này để dễ dàng chuyển đổi giữa các trang.
Ý nghĩa: o Cho phép thể hiện nhiều control trên một form o Các control có cùng nhóm chức năng sẽ được tổ chức trong một tab (page)
TabControl có thuộc tính TabPages Chứa các đối tượng TabPage
Thuộc tính, phương thức & sự kiện thường dùng
Chọn thuộc tính TabPages của TabControl
Sử dụng màn hình TabPage Collection Editor để chỉnh sửa
Bổ sung Control vào TabControl
Chọn TabPage cần thêm control
Kéo control từ ToolBox thả vào TabPage đã chọn
Sử dụng code để thêm các TabPage vào TabControl
CheckBox, CheckedListBox, RadioButton & TrackBar CheckBox
Control đưa ra một giá trị cho trước và user có thể
Chọn giá trị khi Checked = true
Không chọn giá trị: Checked = false Lớp đại diện CheckBox
ThreeState = true : cho phép thiết lập 3 trạng thái:
Checkstate = Indeterminate: không xác định
Cho phép user chọn một option trong số nhóm option
Khi user chọn 1 option thì tự động option được chọn trước sẽ uncheck
Các radio button chứa trong 1 container (form, GroupBox, Panel, TabControl) thuộc một nhóm
Khác với nhóm CheckBox cho phép chọn nhiều option, còn RadioButton chỉ cho chọn một trong số các option
Tương tự như list box nhưng mỗi item sẽ có thêm checkbox
Thuộc tính Items lưu trữ danh sách item
Có thể bổ sung vào thời điểm
Cho phép user thiết lập giá trị trong khoảng cố định cho trước Thao tác qua thiết bị chuột hoặc bàn phím
Bổ sung Label hiển thị giá trị của TrackBar
Sử dụng để hiển thị ảnh dạng bitmap, metafile, icon, JPEG, GIF
Sử dụng thuộc tính Image để thiết lập ảnh lúc design hoặc runtime
Image: ảnh cần hiển thị
SizeMode: o Normal o StretchImage o AutoSize o CenterImage o Zoom
Cho phép user chọn các giá trị trong khoảng xác định thông qua
Nhập trực tiếp giá trị Các thuộc tính
UpButton Đoạn code thêm control NumericUpDown
Cho phép user chọn item trong số danh sách item thông qua
Nhập từ bàn phím Properties
ReadOnly: true chỉ cho phép thay đổi giá trị qua Up & Down
SelectedIndex: chỉ mục của item đang chọn
SelectedItem: item đang được chọn
Sorted: sắp danh sách item
Text: text đang hiển thị trên DomainUpDown
SelectedItemChanged Nhập item cho DomainUpDown
Cho phép chọn ngày trong khoảng xác định thông qua giao diện đồ họa dạng calendar
Kết hợp ComboBox và MonthCalendar Properties
Format: định dạng hiển thị o long, short, time, custom
CustomFormat: o dd: hiển thị 2 con số của ngày o MM: hiển thị 2 con số của tháng o yyyy: hiển thị 4 con số của năm o …(xem thêm MSDN Online)
MaxDate: giá trị ngày lớn nhất
MinDate: giá trị ngày nhỏ nhất
Value: giá trị ngày hiện tại đang chọn
MonthCalendar Cho phép user chọn một ngày trong tháng hoặc nhiều ngày với ngày bắt đầu và ngày kết thúc
Một số thuộc tính thông dụng
SelectionStart: ngày bắt đầu chọn
RichTextBox Chức năng mở rộng từ TextBox, có thể hiển thị text dạng rich text format (RTF)
Các text có thể có các font chữ và màu sắc khác nhau Đoạn text có thể được canh lề
Có thể chứa các ảnh Ứng dụng WordPad là dạng RichTextBox
Sự kiện chuột với tham số kiểu EventArgs
MouseEnter Xuất hiện khi con trỏ chuột đi vào vùng biên của control MouseLeave Xuất hiện khi con trỏ chuột rời khỏi biên của control
Sự kiện chuột với tham số kiểu MouseEventArgs
Xuất hiện khi button được nhấn/thả và con trỏ chuột đang ở trong vùng biên của control
MouseMove Xuất hiện khi chuột di chuyển và con trỏ chuột ở trong vùng biên của control
Thuộc tính của lớp MouseEventArgs
Button Button được nhấn {Left, Right, Middle, none} có kiểu là
Clicks Số lần button được nhấn
X Tọa độ x của con trỏ chuột trong control
Y Tọa độ y của con trỏ chuột trong control
Để thực hiện thao tác vẽ đường thẳng, người dùng cần nhấp chuột trái tại điểm A, giữ chuột và di chuyển đến vị trí mong muốn Chương trình sẽ tự động vẽ đường thẳng từ điểm A đến vị trí hiện tại của chuột Các sự kiện này cần được xử lý một cách chính xác để đảm bảo trải nghiệm người dùng mượt mà.
Xác định điểm A ban đầu MouseMove
Kiểm tra nếu Left button của chuột đang giữ o Sử dụng Graphics để vẽ đường thẳng từ A đến vị trí hiện tại Bước 1
Tạo biến lưu trữ điểm A khi user kích chuột trái Biến pA có kiểu Point là biến thành viên của Form1
Bước 2 Khai báo xử lý sự kiện MouseDown trong Form1
Trong cửa sổ event của Form1, kích đúp vào sự kiện MouseDown
Bước 3 Cài đặt xử lý sự kiện MouseMove
Kiểm tra nếu LeftButton được nhấn o Vẽ đường thẳng từ pA đến vị trí hiện tại
Phát sinh khi một phím được nhấn hoặc thả
KeyDown KeyPress phát sinh kèm theo với mã ASCII của phím được nhấn KeyPress không cho biết trạng thái các phím bổ sung {Shift, Alt, Ctrl…}
Sử dụng KeyUp & KeyDown để xác định trạng thái các phím bổ sung
Sự kiện với tham số kiểu KeyEventArgs
KeyDown Phát sinh khi phím được nhấn
KeyUp Phát sinh khi phím được thả
Sự kiện với tham số kiểu KeyPressEventArgs
KeyPress Khởi tạo khi phím được nhấn
Thuộc tính của lớp KeyPressEventArgs
KeyChar Chứa ký tự ASCII của phím được nhấn
Handled Cho biết sự kiện KeyPress có được xử lý chưa
Thuộc tính của lớp KeyEventArgs
Alt, Control, Shift Trạng thái các phím bổ sung
Handled Cho biết sự kiện đã xử lý
KeyCode Trả về mã ký tự được định nghĩa trong Keys enumeration KeyData Chứa mã ký tự với thông tin phím bổ sung
KeyValue Trả về số int, đây chính là mã Windows Virtual
Key Code Modifier Trả về giá trị của phím bổ sung
Minh họa các sự kiện: KeyPress, KeyDown, KeyUp
Khi user nhấn một phím o Bắt sự kiện KeyPress: xuất ra phím được nhấn o Bắt sự kiện KeyDown: xuất ra các tham số trong KeyEventArgs
Khi user thả phím o Xóa các thông tin mô tả phím được nhấn trong các label Cách thực hiện
Tạo một form minh họa
Thiết kế trên form có 2 Label: o lblChar: hiển thị ký tự được nhấn trong KeyPress o lblKeyInfo: hiển thị các thông tin của KeyEventArgs khi KeyDown
Bước 1: tạo Windows Form như hình mô tả
Bước 2: Tạo KeyPress Event Handling cho form
Bước 3: Tạo KeyDown Event Handling cho form
CT Calculator (BT3) mở rộng cho phép xử lý các phím
Form nhận xử lý thông điệp KeyDown
Xác định các phím tương ứng rồi gọi sự kiện click của button o VD: user gõ phím 1, tương tự như button “1” được nhấn Cách thực hiện
Khai báo trình xử lý sự kiện KeyDown cho Form chính
Thiết lập thuộc tính KeyPreviewcho Form để nhận sự kiện bàn phím
Viết phần xử lý cho sự kiện KeyDown
Xác định các phím tương ứng để gọi sự kiện click của các button
1.6 Tổng quan ứng dụng document Interface
Dạng ứng dụng làm việc với các document:
Document chứa nội dung dữ liệu, được lưu trữ trên file hoặc trong CSDL
Các dạng document: Soạn thảo văn bản; Xử lý ảnh đồ họa; Bảng tính; Làm việc csdl Ứng dụng dạng DI sẽ cung cấp các chức năng
Mở file (hoặc CSDL), xử lý nội dung và lưu file (hoặc CSDL)
Có 2 dạng ứng dụng DI:
Chỉ hỗ trợ một document hoặc một cửa sổ tại một thời điểm
Các ứng dụng như NotePad và MS Paint có tính năng xử lý ảnh và văn bản hạn chế Để làm việc với nhiều tài liệu cùng lúc, người dùng cần mở nhiều instance khác nhau của các ứng dụng này.
Việc quản lý ứng dụng SDI khá đơn giản
1.8 Multiple Document Interface (MDI) Ứng dụng cho phép xử lý nhiều document tại một thời điểm
Các ứng dụng hiện tại thường là dạng MDI: MS Office; MS Studio.NET; Adobe Photoshop
… Ứng dụng MDI thường phức tạp và chức năng xử lý đa dạng
Xử lý một cùng một dạng document: MS Word, Adobe Photoshop Xử lý nhiều dạng document: Visual Studio: code, design,…
MDI Parent Window – MDI Child Window Đặc điểm của MDIParent Form
Được sử dụng làm cửa sổ chính cho ứng dụng
Trong một ứng dụng chỉ có một cửa sổ MDI
Các cửa sổ con bên trong MDI chỉ có thể di chuyển trong phạm vi của cửa sổ MDI chứa nó
Khi cửa sổ con bên trong MDI được maximize thì click thước cũng chỉ bằng vùng làm việc của MDI
Tiêu đề của cửa sổ con sẽ được kết hợp với tiêu đề của cửa sổ MDI, và trong trường hợp có menu, menu của cửa sổ con sẽ thay thế menu của cửa sổ MDI.
Khi cửa sổ con được minimize, biểu tượng của cửa sổ con nó nằm trong cửa sổ MDI
Menu cung cấp nhóm lệnh có quan hệ với nhau cho các ứng dụng Windows
ThThuuộcộc ttíínhnh ccủaủa MMeennuuSSttrriipp,, TToooollSSttriripMpMeennuuIIttemem
Items Chứa những top menu item
MdiWindowListItem Chọn top menu item hiển thị tên các cửa sổ con
Checked Xác định trạng thái check của menu item
Index Chỉ mục menu item trong menu cha
DropDownItems Chứa những menu item con
Text Tiêu đề menu item
ShowShortcutKeys Xác định trạng thái hiện thị phím tắt bên cạnh menu item
Xuất hiện khi user kích chuột phải
Thông thường menu này xuất hiện tùy thuộc vào đối tượng trong vùng kích chuột phải Trong ToolBox kéo ContextMenuStrip thả vào form
Kích vào ContextMenuStrip để soạn thảo các menuitem
ContextMenuStrip tạm thời thể hiện trên cùng của form
Khi run thì sẽ không hiển thị cho đến khi được gọi
Khai báo sử dụng Context Menu
Mỗi control đều có property là: ContextMenuStrip
Khai báo thuộc tính này với ContextMenuStrip
Khi đó user kích chuột phải lên control thì sẽ hiển thị context Menu đã cài đặt sẵn
Khai báo trình xử lý sự kiện Click cho ContextMenu
Kích đúp vào menu item của Context Menu để tạo
Hoặc trong cửa sổ Properties -> Event kích đúp vào sự kiện Click
ToolStrip là sự thay thế cho ToolBar trong các ứng dụng trước đây
Vị trí thường xuất hiện là ngay bên dưới thanh menu
Cung cấp các button cho phép thực hiện các chức năng thường dùng trong menu
ToolStrip là dạng container cho phép chứa các control
Các control này dẫn xuất từ ToolStripItem
Cách tạo button trên ToolStrip
Kéo ToolStrip thả vào form
Hiển thị thông tin trạng thái của ứng dụng
Nằm bên dưới cùng của Form
StatusStrip: là container chứa control khác
ToolStripStatusLabel: control có thể add vào StatusStrip
CHƯƠNG 2 TỔNG QUAN VỀ ADO.NET CHƯƠNG 2 TỔNG QUAN VỀ ADO.NET
2.1 Tổng quan về ADO.NET
Kiến trúc của ADO.NET được mô tả như hình dưới, bao gồm hai thành phần chính:
Thành phần truy cập nguồn dữ liệu và thành phần lưu trữ xử lý dữ liệu
Thành phần đầu tiên của ADO.NET là NET Framework Data Provider, được thiết kế để thực hiện kết nối và gửi lệnh xử lý đến cơ sở dữ liệu Thành phần này còn được gọi là lớp kết nối (Connectivity Layer) Trong ADO.NET, có bốn đối tượng chính với các chức năng cơ bản khác nhau.
Connection: giúp thực hiện kết nối đến các CSDL
Command: giúp truy cập đến CSDL và thực hiện các phát biểu SQL hay thủ tục lưu trữ sẵn (stored procedure) của CSDL
DataReader: dùng để đọc nhanh nguồn dữ liệu, chỉ được duyệt tuần tự theo chiều tiến của các record
DataAdapter là công cụ quan trọng trong việc chuyển đổi dữ liệu truy vấn thành các đối tượng lưu trữ và xử lý như DataSet và DataTable Nó chủ yếu thực hiện các thao tác cơ bản như SELECT, INSERT và UPDATE, giúp quản lý dữ liệu hiệu quả trong các ứng dụng.
Thành phần NET Framework Data Provider cung cấp giao diện lập trình chung để tương tác với các nguồn dữ liệu Mỗi nhà cung cấp sẽ đưa ra một loại data provider riêng biệt Dưới đây là bảng mô tả giao diện lập trình cùng với các lớp cơ bản của các data provider mà ADO.NET đã cung cấp.
CHƯƠNG 2 TỔNG QUAN VỀ ADO.NET
Oracle Provider OLEDB Provider ODBC Provider
IDbConnection SqlConnection OracleConnection OledbConnection OdbcConnection
IDbDataAdapter SqlDataAdapter OracleDataAdapter OledbDataAdapter OdbcDataAdapter
IDbCommand SqlCommand OracleCommand OledbCommand OdbcCommand
IDbDataReader SqlDataReader OracleDataReader OledbDataReader OdbcDataReader Để sử dụng data provider nào, chúng ta phải tiến hành khái báo using namspace tương ứng Chẳng hạn, using System.Data.SqlClient;
Ngoài các nhà cung cấp dữ liệu được liệt kê trong bảng trên, còn có những nhà cung cấp dữ liệu khác không được tích hợp sẵn trong ADO.NET của Visual Studio NET, chẳng hạn như nhà cung cấp dữ liệu cho MySQL và PostgreSQL.
Thành phần thứ hai trong kiến trúc ADO.NET là DataSet, được coi là một container lưu trữ các đối tượng liên quan đến dữ liệu như DataTable, DataRelation và DataView DataSet cũng được biết đến như một lớp không kết nối (disconnected layer), cho phép quản lý và thao tác dữ liệu một cách hiệu quả mà không cần duy trì kết nối liên tục với cơ sở dữ liệu.