2013-06-25 7 views
8

My application, utworzona za pomocą ekspresowego studio graficznego 2010, wygląda dobrze we wszystkich wersjach systemu Windows, innych niż XP.Aplikacja Visual Studio, XP dodaje dodatkową kwadratową postać na początku niektórych etykiet

XP dodaje dodatkową kwadratową postać na początku niektórych etykiet.

Comparison of screenshots of application in XP and other than XP

Właściwości wszystkich etykiet, czy wyświetla dodatkowy znak, czy nie, są takie same:

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

Jedyna różnica to lokalizacja , szerokość i, oczywiście, tekst.

Wygląda na to, że nie ma związku z tym, czy używane są znaki specjalne, takie jak Omega. Nie ma związku z szerokością.

formularza (wniosku) .Designer.cs:

Etykieta ta jest 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"; 

Etykieta ta dodaje zabawny charakter:

 // 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"; 

jakiś pomysł, co powoduje że?

Cóż, cóż! Patrz tam! W tej ostatniej linii jest śmieszna postać! Wklejenie kodu do stackoverflow ujawniło problem!

Są tam zabawne postacie. Chodzi o to, że są niewidoczne w edytorze tekstu Visual Studio iw każdym innym edytorze, którego próbowałem. Pojawiają się tylko wtedy, gdy je wkleję! Kto je stworzył?

OK, mam swoje rozwiązanie: ręcznie edytuję plik Designer.cs.

Ale utrzymuję to pytanie tutaj, aby inni mogli z niego korzystać.

+2

Może mieć coś wspólnego z Unikodem, w tym przypadku "zabawna postać" to binarna 0. –

+4

OmegaMan, dlaczego wyjęłaś tę postać? Teraz mój post nie ma już sensu! Powróciłem do mojej wersji. –

+0

To ładny projekt okna. – Kamil

Odpowiedz

6

Podejrzewam, że uzyskuje się byte order mark lub inny znacznik Unicode (np. Przestrzeń zero-width joiner, nie łącząca się lub przestrzeń o zerowej szerokości) osadzoną w projektancie. Są to całkowicie poprawne znaki, ale czcionki XP nie będą miały reprezentacji dla tej postaci, a więc otrzymasz kwadratowy wypełniacz.

+0

Cóż, z pewnością "trochę" niedrukowalny charakter. Nie mam pojęcia, skąd się to wzięło. Mimo to udało mi się go skopiować i wykonać globalne wyszukiwanie i zamiana, które pozbyło się 25 wystąpień w pliku .design.cs. Teraz aplikacja wygląda OK w XP. Dzięki Eric –

Powiązane problemy