2013-06-25 22 views
8

My application, được tạo bằng studio trực quan 2010 express, có vẻ tốt trong tất cả các phiên bản Windows, ngoài XP.Ứng dụng phòng thu trực quan, XP thêm một ký tự vuông ở đầu một số nhãn

XP thêm ký tự vuông thêm vào đầu một số nhãn.

Comparison of screenshots of application in XP and other than XP

Các đặc tính của tất cả các nhãn, cho dù họ hiển thị các nhân vật phụ hay không, đều giống nhau:

  • Microsoft Sans Serif, 8.25pt
  • AutoSize: true
  • ForeColor : ControlText

Sự khác biệt duy nhất là vị trí , chiều rộng, và, tất nhiên, văn bản.

Nó dường như không liên quan đến việc liệu một ký tự đặc biệt như Omega có được sử dụng hay không. Nó không liên quan đến chiều rộng.

Mẫu các (ứng dụng) designer.cs:

Nhãn này là OK:

 // label22 
     // 
     this.label22.AutoSize = true; 
     this.label22.Location = new System.Drawing.Point(58, 23); 
     this.label22.Name = "label22"; 
     this.label22.Size = new System.Drawing.Size(20, 13); 
     this.label22.TabIndex = 32; 
     this.label22.Text = "Ah"; 

Nhãn này cho biết thêm một nhân vật hài hước:

 // lblPackCurrUnits 
     // 
     this.lblPackCurrUnits.AutoSize = true; 
     this.lblPackCurrUnits.Location = new System.Drawing.Point(44, 300); 
     this.lblPackCurrUnits.Name = "lblPackCurrUnits"; 
     this.lblPackCurrUnits.Size = new System.Drawing.Size(14, 13); 
     this.lblPackCurrUnits.TabIndex = 17; 
     this.lblPackCurrUnits.Text = "◊A"; 

Bất kỳ ý tưởng về những gì gây ra cái đó?

Vâng, tốt, tốt! Lookie đó! Có một nhân vật hài hước trong dòng cuối cùng đó! Dán mã vào luồng ngăn xếp đã tiết lộ sự cố!

Có các nhân vật vui nhộn trong đó. Nó chỉ là họ là vô hình trong trình soạn thảo văn bản Visual Studio, và trong bất kỳ trình soạn thảo khác tôi đã cố gắng. Chúng chỉ xuất hiện khi tôi dán chúng ở đây! Ai đã tạo ra chúng?

OK, tôi có giải pháp của mình: Tôi sẽ chỉnh sửa thủ công tệp Designer.cs.

Nhưng tôi giữ câu hỏi này ở đây, để những người khác có thể hưởng lợi từ nó.

+2

Có thể liên quan đến Unicode, trong trường hợp đó 'nhân vật hài hước' là số nhị phân 0. –

+4

OmegaMan, tại sao bạn lại lấy nhân vật đó ra? Bây giờ bài viết của tôi không còn ý nghĩa nữa! Tôi đã quay lại phiên bản của mình. –

+0

Thats thiết kế cửa sổ đẹp mắt. – Kamil

Trả lời

6

Tôi nghi ngờ rằng bạn đang nhận được byte order mark hoặc một số điểm đánh dấu Unicode khác (ví dụ: không gian zero-width joiner, không nối hoặc không có chiều rộng 0) được nhúng trong trình thiết kế. Đây là những ký tự hoàn toàn hợp lệ, nhưng phông chữ XP sẽ không có các biểu diễn cho ký tự đó, và do đó bạn sẽ có được trình điền vuông.

+0

Vâng, chắc chắn "một số" nhân vật không in. Tôi không biết nó đến từ đâu. Tuy nhiên, tôi đã có thể sao chép nó, và để thực hiện tìm kiếm và thay thế toàn cầu, loại bỏ 25 trường hợp của nó trong tệp .design.cs. Bây giờ ứng dụng trông OK trong XP. Cảm ơn Eric –

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