Wymuszenie uruchomienia aplikacji zawsze w 96 dpi

Wymuszenie uruchomienia aplikacji zawsze w 96 dpi
0O
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Cześć w nowym roku!

Chciałbym aby moja aplikacja w WinForms zawsze uruchamiała się w 96 dpi nie ważna jakie ustawienia skalowania tekstu ma ustawione użytkownik w Windows.

Jakieś sugestie jak to zrobić ?

Póki co poradziłem sobie doraźnie iż program sprawdza ustaiwenie dpi i jeżeli nie jest 96 zmniejsza czcionkę wszystkich elementów (ale jest to bardzo słabe rozwiązanie)

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
2

Nie robić. Poprawnie napisana aplikacja skaluje się automatycznie bez potrzeby ingerencji programisty

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
0orc napisał(a):

Chciałbym aby moja aplikacja w WinForms zawsze uruchamiała się w 96 dpi nie ważna jakie ustawienia skalowania tekstu ma ustawione użytkownik w Windows.

Nie rozumiem co ci przyświeca w tworzeniu tak brzydko zachowującej aplikacji?
Czyli jak chcę twoją aplikacje użyć zaś:

  • mam monitor K4 80" to bez szkła powiększającego nic nie odczytam?
  • akurat pracuje na laptopie 14" walisz fontem wielkości grubości kciuka a żadna formatka nie mieści się na ekranie?
0O
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
1
abrakadaber napisał(a):

Nie robić. Poprawnie napisana aplikacja skaluje się automatycznie bez potrzeby ingerencji programisty

No i moja aplikacja się poprawnie skaluje w zależności od dpi wszystko się odpowiednio powiększa - działa to bez zarzutu ale i tak potrzebuję to funkcjonalność wyłączyć

_13th_Dragon napisał(a):

Nie rozumiem co ci przyświeca w tworzeniu tak brzydko zachowującej aplikacji?
Czyli jak chcę twoją aplikacje użyć zaś:

  • mam monitor K4 80" to bez szkła powiększającego nic nie odczytam?
  • akurat pracuje na laptopie 14" walisz fontem wielkości grubości kciuka a żadna formatka nie mieści się na ekranie?

hehe no tak, ale to nie jest aplikacja tworzona dla ogółu społeczeństwa tylko dla konkretnych 4 komputerów w firmie znajdujących się na linii produkcyjnej

Problem w tym że ustawiłem AutoScaleMode na None i nie przyniosło to żadnego rezultatu podobnie jak proponowane rozwiązanie:

Kopiuj
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
G1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 507
0

To na Windowsa?
Jeżeli tak, to we właściwościach aplikacji na komputerze klienta można wymusić opcje uruchamiania

AN
  • Rejestracja: dni
  • Ostatnio: dni
0
0orc napisał(a):

hehe no tak, ale to nie jest aplikacja tworzona dla ogółu społeczeństwa tylko dla konkretnych 4 komputerów w firmie znajdujących się na linii produkcyjnej

To ustaw skalowanie tych czterech komputerów na takie samo (a najlepiej 100%, czyli 96 DPI) i po sprawie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.