[C#] Hướng dẫn thiết kế Label Vertical Align Text trong Winform
Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách viết chữ Label Vertical Align Text trong lập trình C# Winform. Trong thiết kế giao diện ứng dụng, nếu bạn nào muốn sử dụng Label mà khi nhập Text lên thì text sẽ nằm dọc theo Form. Dưới đây là ...
Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách viết chữ Label Vertical Align Text trong lập trình C# Winform.
Trong thiết kế giao diện ứng dụng, nếu bạn nào muốn sử dụng Label mà khi nhập Text lên thì text sẽ nằm dọc theo Form.
Dưới đây là giao diện demo ứng dụng Vertical Align Text Label C#:
Đầu tiên các bạn Tạo cho mình một class vLabel.cs với nội dung như sau:
using System; using System.Drawing; using System.Windows.Forms; using System.Drawing.Drawing2D; using System.ComponentModel; namespace VSM.Q_and_A { public class VLabel : System.Windows.Forms.Label { private bool bFlip = true; public VLabel() { } protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; StringFormat stringFormat = new StringFormat(); stringFormat.Alignment = StringAlignment.Center; stringFormat.Trimming = StringTrimming.None; stringFormat.FormatFlags = StringFormatFlags.DirectionVertical; Brush textBrush = new SolidBrush(this.ForeColor); Matrix storedState = g.Transform; if (bFlip) { g.RotateTransform(180f); g.TranslateTransform(-ClientRectangle.Width, -ClientRectangle.Height); } g.DrawString( this.Text, this.Font, textBrush, ClientRectangle, stringFormat); g.Transform = storedState; } [Description("When this parameter is true the VLabel flips at 180 degrees."),Category("Appearance")] public bool Flip180 { get { return bFlip; } set { bFlip = value; this.Invalidate(); } } } }
Sau đó, các bạn chạy Debug, sau đó, các bạn xem bên ToolBox sẽ có một công cụ mới VLabel và các bạn kéo component này ra để sử dụng.
Trong component này chứa thuộc tính Flip 180 với kiểu dữ liệu Boolean.
Các bạn setup property True/False để xem kết quả.
Thanks for watching!
DOWNLOAD SOURCE