Có cách nào để xác định xem thuộc tính văn bản của biểu mẫu có vừa với thanh trên cùng hay không bằng chiều rộng hiện tại của biểu mẫu (hoặc nếu nó sẽ bị cắt bớt bằng "...")?Có cách nào để xác định xem văn bản của biểu mẫu có phù hợp không?
Trả lời
Bạn có thể có một cái nhìn vào TextRenderer.MeasureText()
.
Để tính chiều rộng của một văn bản chú thích sử dụng đoạn mã này:
var width = TextRenderer.MeasureText(caption, SystemFonts.CaptionFont).Width;
Bạn có thể sử dụng kích thước của mẫu của bạn, trừ một giá trị cố định cho các biểu tượng (nếu có thể nhìn thấy) và các nút phía trên bên phải (phụ thuộc vào phiên bản hệ điều hành và trạng thái hiển thị của các nút [Thu nhỏ] [Tối đa hóa]) và kiểm tra xem nó có còn tích cực hay không. Điều này có thể không cung cấp cho bạn một kết quả hoàn toàn chính xác, nhưng nó có lẽ là xấp xỉ đơn giản nhất.
Cho đến nay, phương pháp này dường như để tính toán một xấp xỉ khá chính xác:
/// <summary>
/// Calculates an approximation of the available caption width
/// Depends on OS and theme
/// </summary>
/// <returns>Width</returns>
private int CalcAvaliableCaptionWidth()
{
return
// Form width
Width
// Icon
- (Icon == null ? 0 : Icon.Width)
// Minimize button (26 on Win8)
- (MinimizeBox ? SystemInformation.CaptionButtonSize.Width : 0)
// Maximize button (26 on Win8)
- (MaximizeBox ? SystemInformation.CaptionButtonSize.Width : 0)
// Close button (45 on Win8)
- SystemInformation.CaptionButtonSize.Width;
}
Bạn có thể thử ít ứng dụng xác minh WinForm tôi
Source code: https://gist.github.com/CodeZombieCH/b9def0b0d9c41a98593a
Nhờ @Plutonix cho gợi ý đến SystemInformation.CaptionButtonSize
.
Tôi chắc rằng bạn biết rằng câu trả lời này chưa hoàn thành. Làm thế nào để bạn tìm thấy nếu textSize kết quả sẽ phù hợp trong khu vực hình thức chú thích miễn phí từ các nút tiêu chuẩn và biểu tượng cho menu ngữ cảnh? – Steve
sử dụng 'System.Windows.Forms.SystemInformation.CaptionButtonSize' để lấy kích thước của các nút thanh tiêu đề tiêu chuẩn. Số lượng hiện tại sẽ phụ thuộc vào các hình thức đạo cụ khác (MinimizeBox, ControlBox, vv). – Plutonix
CodeZombie và @Plutonix, cảm ơn, điều này đã làm việc hoàn hảo! – Mierzen
- 1. Mẫu C++: cách xác định xem loại có phù hợp với phân lớp
- 2. Có cách nào tốt hơn để xác định kích thước phù hợp cho UITableViewCell không?
- 3. Làm cách nào để xác định phần nào của nsstring phù hợp với trực tràng?
- 4. Có cách nào để kiểm tra xem văn bản của TextView có bị cắt bớt không
- 5. Xác định xem một biểu mẫu có hoàn toàn tắt màn hình không
- 6. Có cách nào để hiển thị các biểu tượng trong QListView không có văn bản không?
- 7. AntiForgeryToken không có xác thực biểu mẫu
- 8. Đường ray, làm cách nào để bạn gửi biểu mẫu có liên kết văn bản?
- 9. Có thể thay đổi kích thước văn bản để phù hợp với div có kích thước cố định không?
- 10. jQuery Xác định xem một lớp phù hợp có một id nhất định
- 11. Làm cách nào để kiểm tra xem tệp văn bản có chứa một số văn bản nhất định không?
- 12. Kiểm tra xem trình duyệt có xác thực biểu mẫu HTML5 được tích hợp không?
- 13. Có thể xác định xem văn bản trong dbEdit có dài hơn nội dung hiển thị không?
- 14. Có cách nào RESTful để xác định xem POST có thành công không?
- 15. Có cách nào để xác định hướng văn bản từ CultureInfo trong asp.net không?
- 16. Làm cách nào để xác định xem Bản sao cục bộ có cần thiết không
- 17. Cách xác định xem CKEditor có được tải không?
- 18. Có văn bản mở rộng quy mô kích thước để phù hợp với container
- 19. kiểm tra nhanh xem xem văn bản có trống không
- 20. Có cách nào để thay đổi mã hóa văn bản mặc định mở của Python() không?
- 21. Django: Cách kiểm tra xem có email nào không có biểu mẫu
- 22. Cách kiểm tra xem xác thực biểu mẫu html5 có hoàn thành không
- 23. Làm thế nào phù hợp với một mẫu trong văn bản bằng cách sử dụng máy quét và lớp mẫu?
- 24. Cách xác định xem dữ liệu có phải là tệp tar hợp lệ không có tệp không?
- 25. MapReduce có phù hợp với tôi không?
- 26. Làm cách nào để kiểm tra xem cột văn bản SQL Server có trống không?
- 27. Làm cách nào để kiểm tra xem tên tệp có phù hợp với mẫu ký tự đại diện
- 28. Làm thế nào để xác định xem một mảng kết hợp có một khóa không?
- 29. Làm cách nào để xác định xem tìm kiếm của UISearchDisplayController có được hiển thị không?
- 30. Làm cách nào để quyết định xem chuyên môn mẫu có tồn tại hay không
[Không] (http://blogs.msdn.com/b/oldnewthing/archive/2015/05/08/10613194.aspx). –