Tuan08 c net winform p3

17 1 0
Tuan08 c net winform p3

Đ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

10/24/2018 Lập trình Ứng dụng quản lý C#.NET WinForm (tt) Nội dung  XML  GDI+  Custom Controls 10/24/2018 Nội dung  XML  GDI+  Custom Controls Cấu trúc file xml  Dựa ngôn ngữ đánh dấu (Markup Language)  Chỉ chứa nút (node) bao quát tất gọi nút gốc (node root) 10/24/2018 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) text (inner text)  Thường sử dụng attribute để lưu thông tin ngắn gọn, đặc trưng,… cịn inner text lưu thơng tin dài Phân tích liệu XML  Dữ liệu XML có thể được phân tích dựa nhiều mơ hình khác  Mơ hình tún tính (Linear): theo mơ hình liệu được duyệt theo dạng đường thẳng, mơ hình phù hợp với dạng liệu tĩnh khơng có thay đởi Ví dụ ta muốn tìm thơng tin sách thư viện bắt đầu từ chủ đề của sách, đến tên sách, đến trang thứ của sách dòng thứ Tuy nhiên nếu sách đó được tái hay chuyển sang dạng khác mơ hình khơng cịn thích hợp  Mơ hình (Tree Model): đã biết XML có dạng cấu trúc phân cấp thế có thể biểu diễn liệu XML theo cấu trúc Cấu trúc có ưu điểm có thể xác định được mối quan hệ phần tử với 10/24/2018 Mơ hình đối tượng XML  Mơ hình đới tượng: Mơ hình đối tượng XML tập hợp đối tượng dùng để truy xuất thao tác với liệu XML Trong mơ hình liệu cũng được tở chức thành dạng cấu trúc cùng với nút Các đối tượng có nhiều thuộc tính phương thức để có thể quét cấu trúc XML phần tử Đọ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 node  Trong cấu trúc DOM thì: root document node, thẻ element node, thuộc tính attribute node, inner text text node,… 10/24/2018 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 parse sang mơ hình xml DOM lưu nhớ)  Lấy node root XmlNode nodeRoot = doc.DocumentElement; 10/24/2018 Các node Phương thức  Lưu ý XmlNode lớp sở của dẫn xuất: XmlElement, XmlAttribute, XmlText,…  Các phương thức 10/24/2018 Minh họa Ví dụ lấy giá trị thuộc tính của node 10/24/2018 Nội dung  XML  GDI+  Custom Controls GDI+  GDI: Graphical Device Interface  GDI+ API (Application programming interface) cung cấp lớp cho phép  Tạo đồ họa 2D vector  Thao tác font, chuỗi ký tự  Hiển thị đường, hình ảnh…  Thư viện FCL chứa lớp thao tác vẽ namespace System.Drawing  Tất thao tác tô vẽ GUI đều thực chức GDI+ 10/24/2018 Kiến trúc System.Drawing Font Graphics Color Point Rectangle Icon class structure Size Pen Region HatchBrush Image Brush LinearGradientBrush PathGradientBrush SolidBrush TextureBrush Graphics  Class Graphics thể  “Abstract” drawing surface  Tập hợp “tool” cho phép thao tác 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 OnPaint() 10/24/2018 Lấy đối tượng Graphics từ tham số protected override void OnPaint(PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } Từ tham số PaintEventAtgs private void mainForm_Paint(object sender, PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } Lấy đối tượng Graphics từ control, image private void PaintMe(Control testcontrol) { Graphics graf=testcontrol.CreateGraphics(); } Lấy từ control protected override void OnPaint(PaintEventArgs paintevent) { Bitmap bmpimage=new Bitmap(1024,768); Graphics graf = Graphics.FromImage (bmpimage); Lấy từ ảnh } 10 10/24/2018 Pen  Pen  Xác định width, style, fill style  Không cho kế thừa, tạo thể được  Trong namespace System.Drawing  Pen p1 = new Pen(Color.Green); Pen p2 = new Pen(Color.blue, 10);  Sử dụng lớp Pens có 141 pen được định nghĩa trước  Pen p3 = Pens.Violet; Brush  Brush  Dùng để tô vùng bên của hình  Class Brush class abstract nên không tạo thể  Sử dụng lớp kế thừa sau để tạo brush  SolidBrush  LinearGradientBrush  TextureBrush  HatchBrush  Sử dụng lớp Brushes định nghĩa trước brush 11 10/24/2018 Vẽ, tô  Các phương thức vẽ  DrawString  DrawLine  DrawRectangle  DrawEllipse  DrawImage …  Các phương thức tô  FillRectangle  FillEllipse … Tọa độ  Tọa độ hệ thống Gốc tọa độ (0,0) (w,0) (0,0) Form, Panel, GroupBox, File Bitmap … (0,h1) (0,h) (w1,0) Control (w1,h1) (w,h) 12 10/24/2018 Ví dụ  Ví dụ 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ụ 13 10/24/2018 Ví dụ (tt)  Ví dụ Ví dụ (tt)  Ví dụ 14 10/24/2018 Ví dụ (tt)  Ví dụ Solid Hatch LinearGradient Texture Ví dụ (tt)  Ví dụ 15 10/24/2018 Ví dụ (tt)  Ví dụ Ellipse vẽ lên ảnh, sau với vẽ ảnh lên Form Nội dung  XML  GDI+  Custom Controls 16 10/24/2018 Custom Controls  User Controls (Composite)  ProgressBar có status  Derived Controls  TextBox 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 17

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

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan