2012-01-27 34 views
8

Làm cách nào để thêm ngắt dòng bằng cách sử dụng phương thức SetText?Ngắt dòng bằng cách sử dụng Clipboard SetText

Tôi đã thử Clipboard.SetText("eee \n xxxx"); nhưng nó không cho tôi kết quả mong đợi khi tôi dán dữ liệu clipboard vào sổ ghi chú. Kết quả

dự kiến:

eee 
xxxx 

Làm thế nào tôi có thể thực hiện điều này?

+1

nó cung cấp cho bạn những gì? – gdoron

+0

một cái gì đó: eee (ký tự vuông) xxxx – yonan2236

Trả lời

9

Windows sử dụng CR + LF cặp để chỉ một dòng mới. Điều này tương đương với "\r\n" trong C#. Tuy nhiên, bạn chỉ đang gửi "\n", tức là một LF đơn lẻ thay vì một cặp CR + LF.

Sử dụng Environment.NewLine thay vì "\n". Đây là cách ngu xuẩn để đánh vần "\r\n" trong C#. Là phần thưởng, nếu bạn đã từng chạy mã của mình trên nền tảng * nix, Environment.NewLine sẽ đánh giá thành "\ n" là chỉ báo dòng mới * nix. Cuối cùng, theo quan điểm của tôi, Environment.NewLine là thích hợp hơn từ góc nhìn dễ đọc. Nó ghi lại những gì điều này là hợp lý hơn là dựa vào bạn biết các hằng số phép thuật.

+0

kiến ​​thức mới cho tôi. cảm ơn thông tin này. – yonan2236

+0

Xin chào David, tôi có thể tìm thấy tài liệu tham khảo cho loại viết tắt này hoặc giống nhau ở đâu? – yonan2236

+0

Tôi không chắc chắn có một danh sách kiến ​​thức hữu ích duy nhất như thế này. Bạn chỉ cần chọn công cụ này khi bạn đi cùng. Ngôn ngữ cấp cao hơn làm tốt công việc che chắn bạn khỏi mọi chi tiết này nhưng mỗi lần bạn lại chạy vào nó. –

4

Hãy thử:

Clipboard.SetText("eee" + Environment.NewLine + "xxxx"); 
+0

ya, đây là ... cảm ơn:) – yonan2236

1

tôi thấy việc này tốt cũng như:

System.Windows.Forms.Clipboard.SetText(this.txtCopyJS.Text.Replace("\n", "\r\n")); 
+0

Điều này đặc biệt thuận tiện khi xử lý các chuỗi C++. –

0

Tôi biết điều này là hơi muộn ... nhưng tôi thường sử dụng StringBuilder cho bộ nhớ và hiệu suất lý do và nó có một AppendLine() phương pháp rất tiện dụng.

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