1. Trang chủ
  2. » Công Nghệ Thông Tin

Tuan08 c net winform p3

17 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình Ứng Dụng Quản Lý C#.Net Winform (tt)
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Lập Trình Ứng Dụng
Thể loại Bài Giảng
Năm xuất bản 2018
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,31 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cách thức lưu trữ thông tin Mỗi node chứa thông tin dựa vào thuộc tính attribute hoặc text con inner text  Thường sử dụng attribute để lưu các thông tin ngắn gọn, đặc trưng,… còn inner

Trang 1

C#.NET WinForm (tt) Lập trình Ứng dụng quản lý

Nội dung

 XML cơ bản

 GDI+

 Custom Controls

Trang 2

Nội dung

XML cơ bản

 GDI+

 Custom Controls

Cấu trúc file xml

 Dựa trên ngôn ngữ đánh dấu (Markup Language)

 Chỉ chứa duy nhất 1 nút (node) bao quát tất cả

gọi là nút gốc (node root)

Trang 3

Cách thức lưu trữ thông tin

 Mỗi node chứa thông tin dựa vào thuộc tính

(attribute) hoặc text con (inner text)

 Thường sử dụng attribute để lưu các thông tin

ngắn gọn, đặc trưng,… còn inner text lưu các

thông tin dài

Phân tích dữ liệu XML

Dữ liệu trong XML có thể được phân tích dựa trên

nhiều mô hình khác nhau

Mô hình tuyến tính (Linear): theo mô hình này dữ liệu

được duyệt theo dạng đường thẳng, mô hình chỉ phù

hợp với các dạng dữ liệu tĩnh không có sự thay đổi Ví

dụ như ta muốn tìm thông tin trong 1 cuốn sách trong

thư viện chúng ta bắt đầu từ chủ đề của sách, đến tên

sách, đến trang thứ mấy của sách và dòng thứ mấy Tuy

nhiên nếu cuốn sách đó được tái bản hay chuyển sang

dạng khác thì mô hình này không còn thích hợp.

Mô hình cây (Tree Model): như chúng ta đã biết XML

có dạng cấu trúc phân cấp vì thế chúng ta có thể biểu

diễn dữ liệu trong XML theo cấu trúc cây Cấu trúc này

có ưu điểm là chúng ta có thể xác định được các mối

Trang 4

Mô hình đối tượng XML

Mô hình đối tượng: Mô hình đối tượng XML là tập hợp các

đối tượng dùng để truy xuất và thao tác với các dữ liệu trong

XML Trong mô hình này dữ liệu cũng được tổ chức thành

dạng cấu trúc cây cùng với các nút Các đối tượng có nhiều

thuộc tính và phương thức để chúng ta có thể quét cấu trúc

cây XMLvà các phần tử trong cây.

Đọc ghi xml

 NET hỗ trợ nhiều cách đọc ghi xml (DOM,

XmlReader, XmlWriter,…)

 Sử dụng cách đọc ghi theo xml DOM dễ dàng

duyệt ngẫu nhiên một node bất kỳ

Trong cấu trúc DOM thì: root là document node,

các thẻ là element node, thuộc tính là attribute

node, inner text là text node,…

Trang 5

Ví dụ DOM

Các thao tác

 Bắt đầu với đối tượng XmlDocument (lấy nguyên

nội dung xml và parse sang mô hình xml DOM

lưu trong bộ nhớ)

 Lấy node root

XmlNode nodeRoot = doc.DocumentElement;

Trang 6

Các node con

Phương thức cơ bản

Lưu ý XmlNode là lớp cơ sở của các dẫn xuất:

XmlElement, XmlAttribute, XmlText,…

 Các phương thức cơ bản

Trang 7

Minh họa

Ví dụ lấy giá trị thuộc tính của 1 node

Trang 8

Nội dung

XML cơ bản

GDI+

 Custom Controls

GDI+

 GDI: Graphical Device Interface

 GDI+ là API (Application programming interface)

cung cấp các lớp cho phép

 Tạo những đồ họa 2D vector

 Thao tác trên font, chuỗi ký tự

 Hiển thị các đường, hình và ảnh…

 Thư viện FCL chứa các lớp thao tác vẽ trong

namespace System.Drawing

Trang 9

Kiến trúc

System.Drawing

Font

Graphics

Icon

Pen

Region

Image

Brush

HatchBrush LinearGradientBrush PathGradientBrush SolidBrush TextureBrush

Color Point Rectangle Size

structure class

Graphics

 Class Graphics thể hiện

 “Abstract” drawing surface

 Tập hợp những “tool” cho phép thao tác trên

surface đó

 Để lấy đối tượng Graphics

 Sử dụng thuộc tính Graphics được truyền cho

OnPaint()

 Sử dụng phương thức CreateGraphics() của control

 Lấy từ đối tượng dẫn xuất từ Bitmap

 Gọi hàm Invalidate() thay vì OnPaint()

Trang 10

Lấy đối tượng Graphics từ tham số

protected override void

OnPaint(PaintEventArgs paintevent)

{

Graphics graf=paintevent.Graphics;

}

private void mainForm_Paint(object sender,

PaintEventArgs paintevent)

{

Graphics graf=paintevent.Graphics;

}

Từ tham số PaintEventAtgs

Lấy đối tượng Graphics từ control, image

private void PaintMe(Control testcontrol)

{

Graphics graf=testcontrol.CreateGraphics();

}

protected override void

OnPaint(PaintEventArgs paintevent)

Lấy từ control

Trang 11

 Pen

 Xác định width, style, fill style

 Không cho kế thừa, nhưng tạo thể hiện được

 Trong namespace System.Drawing

 Pen p1 = new Pen(Color.Green);

Pen p2 = new Pen(Color.blue, 10);

 Sử dụng lớp Penscó 141 pen được định nghĩa

trước

 Pen p3 = Pens.Violet;

Brush

 Brush

 Dùng để tô vùng bên trong của hình

 Class Brush là class abstract nên không tạo thể

hiện

 Sử dụng các lớp kế thừa sau để tạo brush

 SolidBrush

 LinearGradientBrush

 TextureBrush

 HatchBrush

 Sử dụng lớp Brushes định nghĩa trước các brush

Trang 12

Vẽ, tô cơ bản

 Các phương thức vẽ cơ bản

 DrawString

 DrawLine

 DrawRectangle

 DrawEllipse

 DrawImage

 Các phương thức tô cơ bản

 FillRectangle

 FillEllipse

Tọa độ

 Tọa độ hệ thống

Gốc tọa độ

(0,0) (w 1 ,0)

(0,h 1 ) (w 1 ,h 1 )

Form,

Control

Trang 13

Ví dụ

 Ví dụ cơ bản

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

protected override void OnPaint(PaintEventArgs e)

{

Graphics g = e.Graphics;

g.DrawString(" Hello GDI! ", Font, Brushes.Red, 20, 20);

}

}

Ví dụ (tt)

 Ví dụ cơ bản

Trang 14

Ví dụ (tt)

 Ví dụ cơ bản

Ví dụ (tt)

 Ví dụ cơ bản

Trang 15

Ví dụ (tt)

 Ví dụ cơ bản

LinearGradient

Texture

Ví dụ (tt)

 Ví dụ cơ bản

Trang 16

Ví dụ (tt)

 Ví dụ cơ bản

Ellipse được vẽ lên ảnh, rồi sau

đó với vẽ ảnh lên Form

Nội dung

XML cơ bản

GDI+

Custom Controls

Trang 17

Custom Controls

User Controls (Composite)

 ProgressBar có status

Derived Controls

 TextBox chỉ cho nhập số

 ListBox cuộn đến cuối

Owner-Drawn Controls

 ListBox, ComboBox

 ListView, TreeView

 ToolTip

 MenuItem

New Control

 Dẫn xuất trực tiếp từ Control

Bài tập

 Tạo custom TextBox cho phép nhập số thực

 Tạo custom ProgressBar có hiển thị trạng thái

 Tạo custom ListBox cho phép hiển thị màu tùy

chỉnh

Ngày đăng: 09/04/2023, 06:29