Có thể đánh dấu/chọn một phần văn bản trong điều khiển nhãn Windows Form không? Tôi biết nó có thể với điều khiển RTFtextbox nhưng điều đó bằng cách sử dụng điều khiển đó sẽ là quá mức cần thiết vì tôi cần phải tạo ra nhiều trường hợp của nhãn.Có thể chọn văn bản trên nhãn biểu mẫu Windows không?
Trả lời
Có thể chọn văn bản trên nhãn biểu mẫu Windows không? - KHÔNG (Ít nhất là không có cách dễ dàng mà không có phương pháp Label.Paint trọng)
Bạn có thể dễ dàng thay đổi một TextBox cho mục đích này.
TextBox1.Text = "Hello, Select Me";
TextBox1.ReadOnly = true;
TextBox1.BorderStyle = 0;
TextBox1.BackColor = this.BackColor;
TextBox1.TabStop = false;
Bạn không tin? đây là một ví dụ cho bạn.
Sự cố bạn có thể gặp phải là nếu bạn đang đặt văn bản của hộp thư động, nó sẽ ẩn văn bản nếu văn bản đó rộng hơn hộp văn bản, không giống như nhãn. –
@TheMuffinMan bạn phải đặt thuộc tính «WordWrap» thành «true». –
Nếu cần, bạn cũng có thể đặt Multiline = True để có thể thay đổi chiều cao của TextBox. –
Không, không thể chọn văn bản trên Nhãn biểu mẫu Windows. Thay vào đó, bạn có thể sử dụng một hộp văn bản chỉ đọc cho điều này.
Sử dụng TextBox
với BorderStyle
đặt thành None
và Readonly
đặt thành true
và Backcolor để khớp với vùng chứa.
Bạn sẽ không thể đánh dấu một phần của văn bản trên nhãn. Tuy nhiên, bạn có thể sử dụng một hình ảnh và đặt nó vào thuộc tính Label.Image nếu văn bản cho các nhãn này là tĩnh.
thực sự phức tạp để thực hiện, cộng với văn bản là động - đó là lý do tại sao cần phải làm nổi bật một số của nó. – tunafish24
Giống như Bala R trả lời:
"Sử dụng một TextBox với BorderStyle thiết lập để None và chỉ đọc thiết lập là true và BackColor để phù hợp với các thùng sơn.".
Nếu chuỗi Văn bản được phát rất dài, và Width
của TextBox
là không đủ để hiển thị tất cả các văn bản, sau đó bạn có thể thiết lập Width
tài sản của TextBox
để hiển thị tất cả đó là Text.
Nếu bạn cần biết số chính xác cho Width
, thì bạn có thể sử dụng phương thức MeasureString
Graphics
cho điều này. Bạn có thể lấy dụ từ phương thức CreateGraphics()
của Control
(TextBox
trong trường hợp này).
Tham số đầu tiên là Văn bản của TextBox và thông số thứ hai là Phông chữ của TextBox. Hàm này trả về cấu trúc SizeF
. Bạn chỉ cần thuộc tính Chiều rộng của nó, chuyển đổi nó thành số nguyên với (int)size.Width
hoặc (int)Math.Round(size.Width)
.
Đừng quên gọi phương thức Dispose()
của đối tượng đồ họa sau, vì bạn sẽ không cần đến nó nữa.
Bạn có thể viết chức năng của riêng bạn mà sẽ làm tất cả quá trình này:
static void SetText(TextBox textBox, string str)
{
Graphics graphics = textBox.CreateGraphics();
SizeF size = graphics.MeasureString(str, textBox.Font);
graphics.Dispose();
textBox.Width = (int)Math.Round(size.Width);
textBox.Text = str;
}
Nếu bạn có một hộp văn bản có chiều rộng cố định mà bạn muốn kích thước chiều cao của mã này, hãy xem Câu hỏi này: https://stackoverflow.com/questions/29299297/measure-text-height-wrapped-in-a- chiều rộng được chỉ định – QuickDanger
- 1. Biểu mẫu Windows: thêm dòng mới vào nhãn nếu văn bản quá dài
- 2. Dừng nhãn biểu mẫu từ sửa đổi văn bản
- 3. Bản dịch nhãn trường biểu mẫu Django
- 4. Nếu Biểu mẫu tối, thì Văn bản trên biểu mẫu phải là Ánh sáng
- 5. Có thể tải lên tệp và gửi văn bản trong một biểu mẫu không?
- 6. Thêm dấu đầu dòng văn bản vào biểu mẫu C#
- 7. Tôi có thể buộc trình duyệt web gửi văn bản biểu mẫu dưới dạng UTF8 không?
- 8. Biểu mẫu nhãn tùy chỉnh phần tử biểu mẫu Symfony2
- 9. Mẫu biểu mẫu Windows chung
- 10. Đặt văn bản nhãn trong tab QTabWidget
- 11. Văn bản nhãn không được cập nhật
- 12. Biểu mẫu Django - đặt nhãn
- 13. Làm cách nào để bỏ chọn hộp văn bản nếu người dùng nhấp vào nơi khác trên biểu mẫu?
- 14. UIWebView không thể chọn văn bản
- 15. Tôi có thể chọn văn bản trống với CSS không?
- 16. Có thể sắp xếp w/Văn bản có thể chọn
- 17. Phát hiện thay đổi trong văn bản không có nhãn
- 18. Nhận văn bản thuần tuý từ một nhãn hiệu có chứa văn bản có dạng là
- 19. Biểu mẫu Zend - Đặt lớp học trên nhãn dt
- 20. Phác thảo cho văn bản không có nhãn
- 21. Căn chỉnh dọc văn bản trong nhãn
- 22. Biểu mẫu Windows "Hole"
- 23. Làm nổi bật nhãn Windows Forms
- 24. Có thể chọn màu một nhãn trong Silverlight không?
- 25. Biểu mẫu đơn giản Nhãn trống
- 26. Số phiên bản trong văn bản biểu mẫu Winform
- 27. Nhãn trên sự kiện thay đổi văn bản
- 28. MBProgressHUD để hiển thị văn bản nhãn trên nhiều dòng
- 29. Xác nhận hợp lệ một số hộp văn bản trên biểu mẫu C# windows cùng một lúc
- 30. chọn văn bản cụ thể trên trang và xóa văn bản đó
Ý anh là gì bởi "chọn"? Bạn có nghĩa là chọn nó bằng mã, để sử dụng văn bản này sau khi? – GianT971
xin lỗi @ John ... bằng cách chọn tôi có nghĩa là lựa chọn văn bản, ví dụ: trong RichTextBox, bạn có thể sử dụng thuộc tính "SelectedText" để chọn/đánh dấu một phần của toàn bộ văn bản. Hiệu ứng này tương tự như việc chọn/đánh dấu văn bản theo cách thủ công bằng chuột. – tunafish24
Chỉ cần một ý tưởng: bạn có thể tạo một lớp có nguồn gốc từ Nhãn, trong đó bạn có một số thuộc tính để lưu trữ chỉ mục bắt đầu và kết thúc của văn bản được chọn, sau đó ghi đè lên sự kiệnPaint bạn có thể đánh dấu văn bản vẽ hình chữ nhật bán trong nó trên nó – Marco