2010-01-28 26 views

Trả lời

11

Tab thực sự là một nhân vật hoặc không in đúng hơn, một nhân vật tầm kiểm soát. Những gì nó làm là hoàn toàn phụ thuộc vào ứng dụng. Chính xác những gì bạn mong đợi? 8 không gian? 4 dấu cách? Có bao nhiêu khoảng trống cần thiết để chuyển đến bội số của 8 cột? Thụt lề của văn bản sau một cm?

Để ngắn gọn: Điều khiển Label không hỗ trợ tab. Trên thực tế, Nhãn chỉ sử dụng các thường trình đồ họa thông thường để hiển thị văn bản của nó và cách họ biết bạn định làm gì với ký tự tab của mình?

Nếu bạn cần hiển thị ký tự đó dưới dạng một số khoảng trắng, thì bạn nên thay thế nó bằng số khoảng trắng đó.

+0

Tôi đoán mã của tôi nên là: string tab = ""; label.text = "Có một" + tab + "tab"; – Jon

+1

Nếu bạn muốn có một không gian ở đó, có thể Bạn vẫn không chỉ định những gì bạn mong đợi nó sẽ hiển thị – Joey

+0

Tôi muốn nó hiển thị bất cứ điều gì một tab là khoảng 4-5 không gian – Jon

2

Không có gì, nhãn biểu mẫu windows rất hạn chế về chức năng và không hỗ trợ ký tự \ t.

A (hơi vụng về) thay thế có thể là:

label1.Text = "test\ting\t123".Replace("\t"," "); 
+0

Thật sao? Kỳ dị. Bất kỳ cách tiếp cận thay thế nào? – Jon

+0

Đáng buồn thay, điều duy nhất tôi có thể nghĩ đến (không phải là rất hữu ích) là sử dụng WPF thay vì: ( – Ash

1

Phải, để chèn tab, chỉ cần thêm khoảng trắng mong muốn.

Nếu bạn muốn để bù đắp tiếp theo bằng một chiều dài nhất định, bạn có thể thử

int offset_text = 20; 
label1.Text = "Is there a".PadRight(offset_text)+"Tab"; 
label2.Text = "More Text".PadRight(offset_text)+"Too"; 
+0

Bạn có chắc chắn rằng nó hoạt động không? PadRight sẽ không có hiệu lực trong trường hợp này bởi vì "Có một" dài hơn 3 ký tự. – Ash

0

Chỉ cần sử dụng một chuỗi chữ và bạn sẽ được tốt để đi ...

label1.Text = @"Test for   Tab"; 

đâu mà không gian lớn là nơi tôi thực sự nhấn tab ba lần ... hy vọng điều này sẽ giúp

2

Chủ đề cũ, nhưng vì không có câu trả lời nào phù hợp với tôi, tôi sẽ tiếp tục và bỏ ra 2 xu. Tôi không thể nhận được "\ t" hoặc thậm chí sử dụng không gian thủ công để thêm khoảng cách vào nhãn. Những gì tôi đã kết thúc làm là sử dụng mã alt alt-255 5 lần. Điều này làm việc như một say mê. Gotta yêu tổng số hack ...

+0

Lol +1 cho một tâm trí tuyệt vời. – 0550

2

Tôi muốn thêm tab ("\t") vào danh sách thả xuống của các mục. Các vật phẩm có phương pháp ToString cho khoảng 3 từ ghép lại với nhau. Họ không xếp hàng. Ví dụ:

  • 1-Tôi 45
  • 123-AB 511
  • 123456-MMM 611

Một danh sách dài như thế này là rất khó đọc. Vì vậy, tôi sử dụng string.Format như thế này:

string.Format("{0,6}-{1,-4} {2}",id,name,num); 

Số sau dấu phẩy sẽ ngay thẳng/pad nếu tích cực và trái class/pad nếu tiêu cực. Sau đó, tôi đã thay đổi font chữ của tôi trong Combobox được monospaced, như Courier New, và bạn sẽ có được một cái gì đó như thế này:

 1-I 45 
    123-AB 511 
123456-MMM 611 

Đó là dễ dàng hơn nhiều cho một người sử dụng để đọc.

+0

Cách tiếp cận tuyệt vời. – MiBol

0

Chỉ cần nhấp vào mũi tên ở bên phải thuộc tính Văn bản của nhãn (nhấp vào nội dung thuộc tính Văn bản và mũi tên thả xuống sẽ hiển thị). Một hộp để chỉnh sửa văn bản sẽ mở ra và trong hộp đó bạn có thể sử dụng Enter, Tab, v.v.

Các vấn đề liên quan