2014-04-29 8 views
6

Chciałem wiedzieć, czy jest jakaś różnica między aplikacjami opracowanymi przy użyciu aplikacji WPF i Winform pod względem okien. Czy oba typy aplikacji są uważane za takie same w systemie operacyjnym Windows i tylko w ten sposób są opracowywane? LUB Istnieje pewna zasadnicza różnica między nimi, jeśli chodzi o sposób, w jaki każde okno aplikacji i jego dzieci są rysowane na ekranie.Różnica między WPF i Winform pod względem komunikatów Windows i OS

Jestem szczególnie zainteresowany wiedzieć

  • jeśli istnieją te same koncepcje komunikatów okien klamki okienne itp
  • Impreza ON_PAINT jest wyzwalane w ten sam sposób w obu typach zastosowań
  • W kategoriach automatyzacji interfejsu użytkownika, jeśli próbujemy uruchomić aplikację kliencką UIA, otrzymujemy jakąkolwiek różnicę w sterowaniu z każdego typu aplikacji.

Nie szukam informacji o tym, jak robimy rozwój w WPF lub WF, lub jest XAML w WPF gdzie możemy określić, jakie elementy interfejsu użytkownika potrzebujemy i jak ich potrzebujemy.

+0

Czy pytasz o API .NET UI Automation API, między innymi? Mogę się mylić, ale nie sądzę, że [Dostawca automatyzacji interfejsu użytkownika] (http://msdn.microsoft.com/en-us/library/ms747229 (v = vs.110) .aspx) istnieje nawet dla WinForms (to na pewno robi dla WPF). – Noseratio

+0

Tak, pytam o .Net UI Automation, nie jestem pewien, ale myślę, że działa również na aplikacje WinForm. – ResVic

+0

Jedną z głównych różnic między WPF i WF jest to, że formanty WPF nie są oknami, nie mają uchwytów 'HWND'. – Noseratio

Odpowiedz

2

Odpowiedź brzmi: tak. Jeśli używasz aplikacji w oknach i pojawia się nowe okno, są w to zaangażowane komunikaty systemu Windows. W ten sposób system operacyjny powiadamia użytkownika o zdarzeniu. Jest to typowe zachowanie pulpitu i jest po prostu sposobem działania systemu Windows.

WPF działa nieco inaczej w odpowiedzi na zdarzenia renderowania z powodu metody renderowania (której nazwy zapomniałem ...). WPF korzysta z directx, aby narysować powierzchnię graficzną związaną z obszarem roboczym systemu Windows. WinForm rysuje na powierzchni GDI + dostarczanej przez okna.

Pobieranie uchwytu okna i zasubskrybowanie dodatkowych komunikatów okna (okno urządzenia USB itd.) To różne ™ i wymaga trochę skrzypienia.

Automatyzacja interfejsu użytkownika działa tak, jak byś się spodziewał, ale spodziewa się nieco innych nazw kontrolnych i dużo głębszych wykresów niż często dostajesz w winFormach.

+0

Nie dostałem "ty również musisz ... zdarzeń systemowych." część. – ResVic

+0

@ResVic zaktualizowano dla jasności – Gusdor

Powiązane problemy