Tiền sử lý trong C#
lượt xem 27
download
Em có đoạn code sau em không hiểu cái từ #region cho lắm bác nào có thể giả thích rõ hơn cho được không nếu có tài liều hướng dẫn về cái này Port cho xin ,cái này ít thấy sách nào viết
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tiền sử lý trong C#
- Tiền sử lý trong C# Chào các bác Em có đoạn code sau em không hiểu cái từ #region cho lắm bác nào có thể giả thích rõ hơn cho được không nếu có tài liều hướng dẫn về cái này Port cho xin ,cái này ít thấy sách nào viết using System; using System.Collections.Generic; using System.Text; using System.Drawing.Drawing2D; using System.Drawing; using System.Windows.Forms; namespace RibbonStyle { publicclassTabPanel : System.Windows.Forms.Panel { public TabPanel() { timer1.Interval = 1; timer1.Tick += newEventHandler(timer1_Tick); this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true); this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); } int X0; int XF; int Y0; int YF; int T = 8; int i_Zero = 180; int i_Sweep = 90; int X; int Y; GraphicsPath path; int D = -1; int R0 = 215; int G0 = 227; int B0 = 242; Color _BaseColor = Color.FromArgb(215, 227, 242); Color _BaseColorOn = Color.FromArgb(215, 227, 242); int i_mode = 0; //0 Entering, 1 Leaving int i_factor = 1; int i_fR = 1; int i_fG = 1; int i_fB = 1; int i_Op = 255; string S_TXT = ""; publicColor BaseColor { get { return _BaseColor; } set { _BaseColor = value; R0 = _BaseColor.R; B0 = _BaseColor.B; G0 = _BaseColor.G;
- } } publicColor BaseColorOn { get { return _BaseColorOn; } set { _BaseColorOn = value; R0 = _BaseColor.R; B0 = _BaseColor.B; G0 = _BaseColor.G; } } publicstring Caption { get { return S_TXT; } set { S_TXT = value; this.Refresh(); } } publicint Speed { get { return i_factor; } set { i_factor = value; } } publicint Opacity { get { return i_Op; } set { if (value < 256 | value > -1) { i_Op = value; } } } protectedoverridevoid OnPaint(System.Windows.Forms.PaintEventArgs e) { X0 = 0; XF = this.Width + X0 - 3;
- Y0 = 0; YF = this.Height + Y0 - 3; Point P0 = newPoint(X0, Y0); Point PF = newPoint(X0, Y0 + YF); Pen b1 = newPen(Color.FromArgb(i_Op, R0 - 18, G0 - 17, B0 - 19)); Pen b2 = newPen(Color.FromArgb(i_Op, R0 - 39, G0 - 24, B0 - 3)); Pen b3 = newPen(Color.FromArgb(i_Op, R0 + 11, G0 + 9, B0 + 3)); Pen b4 = newPen(Color.FromArgb(i_Op, R0 - 8, G0 - 4, B0 - 2)); Pen b5 = newPen(Color.FromArgb(i_Op, R0, G0, B0)); Pen b6 = newPen(Color.FromArgb(i_Op, R0 - 16, G0 - 11, B0 - 5)); Pen b8 = newPen(Color.FromArgb(i_Op, R0 + 1, G0 + +5, B0 + 3)); Pen b7 = newPen(Color.FromArgb(i_Op, R0 - 22, G0 - 10, B0)); T = 1; DrawArc3(0, 20); e.Graphics.PageUnit = GraphicsUnit.Pixel; Brush B4 = b4.Brush; e.Graphics.SmoothingMode = SmoothingMode.None; X = X0; Y = Y0; i_Zero = 180; D = 0; e.Graphics.FillPath(b5.Brush, path); LinearGradientBrush brocha = newLinearGradientBrush(P0, PF, b6.Color, b8.Color); DrawArc2(15, YF - 20); e.Graphics.FillPath(brocha, path); DrawArc2(YF - 16, 12); Pen bdown = newPen(Color.FromArgb(i_Op, R0 - 22, G0 - 11, B0)); e.Graphics.FillPath(bdown.Brush, path); T = 6; DrawArc(); DrawArc(); e.Graphics.DrawPath(b2, path); DrawArc(); e.Graphics.DrawPath(b3, path); Point P_EX = Cursor.Position; P_EX = this.PointToClient(P_EX); int ix = 10 + this.Width / 2 - S_TXT.Length * (int)this.Font.Size / 2; PointF P_TXT = newPointF(ix, this.Height - 20); Pen pen = newPen(this.ForeColor); e.Graphics.DrawString(S_TXT, this.Font, pen.Brush, P_TXT); base.OnPaint(e); } protectedoverridevoid OnMouseEnter(EventArgs e) { Point P_EX = Cursor.Position; P_EX = this.PointToClient(P_EX); if (P_EX.X > 0 | P_EX.X < this.Width | P_EX.Y > 0 | P_EX.Y < this.Height) { i_mode = 0; timer1.Start(); } base.OnMouseEnter(e); } protectedoverridevoid OnMouseLeave(EventArgs e) { Point P_EX = Cursor.Position;
- P_EX = this.PointToClient(P_EX); if (P_EX.X < 0 | P_EX.X >= this.Width | P_EX.Y < 0 | P_EX.Y >= this.Height) { i_mode = 1; timer1.Start(); } base.OnMouseLeave(e); } publicvoid DrawArc() { X = X0; Y = Y0; i_Zero = 180; D++; path = newGraphicsPath(); path.AddArc(X + D, Y + D, T, T, i_Zero, i_Sweep); i_Zero += 90; X += XF - 6; path.AddArc(X - D, Y + D, T, T, i_Zero, i_Sweep); i_Zero += 90; Y += YF - 6; path.AddArc(X - D, Y - D, T, T, i_Zero, i_Sweep); i_Zero += 90; X -= XF - 6; path.AddArc(X + D, Y - D, T, T, i_Zero, i_Sweep); i_Zero += 90; Y -= YF - 6; path.AddArc(X + D, Y + D, T, T, i_Zero, i_Sweep); } publicvoid DrawArc2(int OF_Y, int SW_Y) { X = X0 + 4; Y = Y0 + OF_Y; i_Zero = 180; path = newGraphicsPath(); path.AddArc(X + D, Y + D, T, T, i_Zero, i_Sweep); i_Zero += 90; X += XF - 8; path.AddArc(X - D, Y + D, T, T, i_Zero, i_Sweep); i_Zero += 90; Y += SW_Y; path.AddArc(X - D, Y - D, T, T, i_Zero, i_Sweep); i_Zero += 90; X -= XF - 8; path.AddArc(X + D, Y - D, T, T, i_Zero, i_Sweep); i_Zero += 90; Y -= SW_Y; path.AddArc(X + D, Y + D, T, T, i_Zero, i_Sweep); } publicvoid DrawArc3(int OF_Y, int SW_Y) { X = X0; Y = Y0 + OF_Y; i_Zero = 180; path = newGraphicsPath(); path.AddArc(X + D, Y + D, T, T, i_Zero, i_Sweep); i_Zero += 90; X += XF; path.AddArc(X - D, Y + D, T, T, i_Zero, i_Sweep); i_Zero += 90; Y += SW_Y; path.AddArc(X - D, Y - D, T, T, i_Zero, i_Sweep); i_Zero += 90; X -= XF; path.AddArc(X + D, Y - D, T, T, i_Zero, i_Sweep); i_Zero += 90; Y -= SW_Y; path.AddArc(X + D, Y + D, T, T, i_Zero, i_Sweep); } privateTimer timer1 = newTimer(); void timer1_Tick(object sender, EventArgs e) { #region Entering if (i_mode == 0) { if (System.Math.Abs(_BaseColorOn.R - R0) > i_factor) { i_fR = i_factor; } else { i_fR = 1; } if (System.Math.Abs(_BaseColorOn.G - G0) > i_factor) { i_fG = i_factor; } else { i_fG = 1; } if (System.Math.Abs(_BaseColorOn.B - B0) > i_factor) { i_fB = i_factor; } else { i_fB = 1; } if (_BaseColorOn.R < R0) { R0 -= i_fR;
- } elseif (_BaseColorOn.R > R0) { R0 += i_fR; } if (_BaseColorOn.G < G0) { G0 -= i_fG; } elseif (_BaseColorOn.G > G0) { G0 += i_fG; } if (_BaseColorOn.B < B0) { B0 -= i_fB; } elseif (_BaseColorOn.B > B0) { B0 += i_fB; } if (_BaseColorOn == Color.FromArgb(R0, G0, B0)) { timer1.Stop(); } else { this.Refresh(); } } #endregion #region Leaving if (i_mode == 1) { if (System.Math.Abs(_BaseColor.R - R0) < i_factor) { i_fR = 1; } else { i_fR = i_factor; } if (System.Math.Abs(_BaseColor.G - G0) < i_factor) { i_fG = 1; } else { i_fG = i_factor; } if (System.Math.Abs(_BaseColor.B - B0) < i_factor) { i_fB = 1; } else { i_fB = i_factor; } if (_BaseColor.R < R0) { R0 -= i_fR; } elseif (_BaseColor.R > R0) { R0 += i_fR; } if (_BaseColor.G < G0) { G0 -= i_fG; } elseif (_BaseColor.G > G0)
- { G0 += i_fG; } if (_BaseColor.B < B0) { B0 -= i_fB; } elseif (_BaseColor.B > B0) { B0 += i_fB; } if (_BaseColor == Color.FromArgb(R0, G0, B0)) { timer1.Stop(); } else { this.Refresh(); } } #endregion } protectedoverridevoid OnResize(EventArgs eventargs) { this.Refresh(); base.OnResize(eventargs); } } } __________________
CÓ THỂ BẠN MUỐN DOWNLOAD
-
API trong lập trình
86 p | 401 | 150
-
Giáo trình Ngôn ngữ lập trình C p1
20 p | 354 | 96
-
LẬP TRÌNH C ++ QUẢN LÝ NHÀ TRỌ
12 p | 597 | 94
-
Giáo trình Kỹ thuật lập trình C
217 p | 267 | 92
-
Giới thiệu về MFC Microsoft Visual C ++ 6.0
71 p | 280 | 59
-
Bài giảng Xử lý sự cố phần mềm - Bài 7 Những tiện ích và ứng dụng
13 p | 225 | 52
-
Kỹ thuật lập trình - Ngôn ngữ lập trình C - Nhập và xuất trong C
21 p | 147 | 40
-
Zend Framework: Hướng dẫn cài đặt và chạy ứng dụng đầu tiên
11 p | 203 | 39
-
Học và sử dụng với ngôn ngữ lập trình C: Phần 1
140 p | 107 | 24
-
Sử dụng và quản lý Ubuntu dễ dàng hơn với Ubuntu Control Center
9 p | 154 | 23
-
Chương 13: Tự động hóa và quản lý tiến trình
8 p | 94 | 22
-
Đồ hoạ, đa phương tiện ( Mutilmedia) và In ấn Đồ họa phần 2
7 p | 103 | 20
-
Sử dụng Nautilus như FTP Client
5 p | 90 | 12
-
Giáo trình Ngôn ngữ lập trình C p3
20 p | 123 | 12
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 2)
228 p | 15 | 5
-
Tối ưu hóa mã nguồn C/C++
17 p | 98 | 4
-
Giáo trình hướng dẫn xây dựng một trình tự xử lý các toán tử trong phép toán đại số có độ ưu tiên p3
5 p | 71 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn