cách sử dụng hai màu trong nhãn cho văn bản trong C#

lập trình


Tôi có một Nhãn có Văn bản: Dự án …..Trong văn bản này tôi cần pro bằng một màu và ject bằng màu khác

Giải pháp 1

Bạn chỉ có thể có một màu trong nhãn.
Để giải quyết dễ dàng, bạn có thể sử dụng hai nhãn (với các màu phông chữ khác nhau) để thực hiện việc này.

Một giải pháp phức tạp hơn là xây dựng quyền kiểm soát người dùng của riêng bạn.

Giải pháp 4

Có lần tôi phải tạo Nhãn “Gradient”… Đây là mã (hoạt động trong Winforms)

public partial class GradientLabel : Label {

public LabelEx() {
    InitializeComponent();
}

protected override void OnPaint(PaintEventArgs e) {
    Font font = new Font("Tahoma", 48f, FontStyle.Bold);
    LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, Width, Height + 5), Color.Gold, Color.Black, LinearGradientMode.Vertical);
    e.Graphics.DrawString(Text, font, brush, 0, 0);
}

}

Đây không hẳn là “hai màu”, nhưng có thể dẫn bạn đến giải pháp.

Giải pháp 8

Một cách giải quyết. Tạo một “nút” ở dưới cùng với một số văn bản, sau đó tiếp tục phủ lên nó bằng các nút có chứa một số ký tự có màu sắc khác nhau và trong suốt nền, phủ lên “nút” phía dưới. Tôi sử dụng “nút” vì tất cả chúng đều là những vật thể hình nút giả. Chỉ có mục cấp cao nhất mới là một ‘nút’ thực sự, điều này thực sự tương đương với việc nó có một sự kiện onclick.

Nhân tiện, điều này đủ thực tế vì nó được sử dụng trong một số loại lừa đảo trực tuyến – phủ lên dữ liệu trang web thực bằng các biện pháp kiểm soát minh bạch chấp nhận dữ liệu đầu vào, gửi lại cho những kẻ lừa đảo và sau đó báo cáo lỗi (chuyển tới trang thực để vào lại) hoặc thậm chí nhập văn bản vào màn hình thực khi lớp vô hình biến mất.

Giải pháp 9

Tôi khuyên bạn nên sử dụng RichTextBox, đây là thành phần tiêu chuẩn và có thể được sử dụng làm nhãn bằng cách đặt chỉ đọc thành true và sử dụng HideCaret (xem tại đây: https://stackoverflow.com/questions/582312/how-to-hide-the-caret-in-a-richtextbox[^] Ví dụ)

Giải pháp 2

hãy thử đặt thuộc tính văn bản thành văn bản html như

lbl.Text="<span style="color:Red;">Pro</span><span><span style="color:Green;">ject</span>";
</span>

từ mặt sau của biểu mẫu ASPX.

コメント

タイトルとURLをコピーしました