Dostarczanie projektantom obsługi cofania

Projektanci, tak jak edytory, zwykle muszą obsługiwać operacje cofania, aby użytkownicy mogą odwrócić ostatnie zmiany podczas modyfikowania elementu kodu.

Większość projektantów zaimplementowanych w Visual Studio obsługuje "cofanie" automatycznie zapewnianą przez środowisko.

Implementacje projektanta, które muszą zapewnić obsługę funkcji cofania:

Aby uzyskać więcej informacji na temat pisania projektantów przy użyciu .NET Framework, zobacz Extend Design-Time Support.

Polecenie Visual Studio SDK udostępnia domyślną infrastrukturę cofania przez:

Automatyczne uzyskiwanie obsługi cofania

Każdy projektant utworzony w Visual Studio ma obsługę automatycznego i pełnego cofania, jeśli projektant:

  • Używa klasy opartej Control na jej interfejsie użytkownika.

  • Wykorzystuje standardowy system generowania i analizowania kodu opartego na modelu CodeDOM do generowania i utrwalania kodu.

    Aby uzyskać więcej informacji na temat pracy z Visual Studio codeDOM, zobacz Dynamiczne generowanie i kompilacja kodu źródłowego.

Kiedy używać obsługi cofania jawnego projektanta

Projektanci muszą podać własne zarządzanie cofnięciem, jeśli używają graficznego interfejsu użytkownika, nazywanego kartą widoku, innego niż interfejs dostarczony przez usługę Control .

Przykładem może być utworzenie produktu z graficznym interfejsem projektowym opartym na sieci Web, a nie .NET Framework graficznym opartym na interfejsie.

W takich przypadkach należy zarejestrować tę kartę widoku za pomocą Visual Studio przy użyciu polecenia i zapewnić ProvideViewAdapterAttribute jawne zarządzanie cofnięciem.

Projektanci muszą zapewnić obsługę modelu CodeDOM i trwałości, jeśli nie używają Visual Studio generowania kodu dostarczonego w System.CodeDom przestrzeni nazw.

Cofanie funkcji pomocy technicznej projektanta

Zestaw SDK środowiska udostępnia domyślne implementacje interfejsów wymaganych do zapewnienia obsługi cofania, która może być używana przez projektantów, którzy nie korzystali z klas opartych na interfejsach użytkownika ani standardowego modelu Control CodeDOM i trwałości.

Klasa pochodzi od klasy .NET Framework przy użyciu implementacji klasy do OleUndoEngine zarządzania UndoEngine IOleUndoManager operacjami cofania.

Visual Studio udostępnia następującą funkcję do cofnięcia projektanta:

Zestaw SDK środowiska zapewnia obsługę codeDOM i trwałości, udostępniając:

Używanie funkcji zestawu SDK środowiska do obsługi cofania

Aby uzyskać obsługę cofania, obiekt implementowania projektanta musi utworzyć wystąpienie i zainicjować wystąpienie klasy OleUndoEngine z prawidłową IServiceProvider implementacją. Ta IServiceProvider klasa musi zapewniać następujące usługi:

Projektanci implementujący mechanizm OleUndoEngine cofania na podstawie automatycznie śledzi zmiany, jeśli:

Zobacz też