Przegląd edytorów typów interfejsu użytkownika

Niestandardowe doświadczenie w czasie projektowania typy właściwości złożonej można zapewnić przez zaimplementowanie edytora typu interfejsu użytkownika.

Wyświetlanie i edytowanie niestandardowych typów

Gdy naraża niestandardowego typu jako właściwość są trzy sposoby edytować wartości właściwości w PropertyGrid:

  • Można edytować właściwości użytkownika w miejscu jako ciąg znaków.Wymaga to TypeConverter dla typu Niestandardowy.Aby uzyskać więcej informacji, zobacz Porady: implementowanie konwertera typów.

  • Można edytować właściwości użytkownika z Interfejsem drop-down.Jest to szczególnie przydatne dla właściwości, które można ustawić za pomocą jednego kliknięcia.

  • Można edytować właściwości użytkownika z modalnym oknem dialogowym.Jeśli Twoja nieruchomość jest szczególnie złożone, pełne okno dialogowe może być konieczne prawidłowo go edytować.

Aby włączyć pojedyncze kliknięcie lub modalnego okna dialogowego pole edycji, trzeba zaimplementować edytora typu interfejsu użytkownika do interakcji z PropertyGrid.

Edytory drop-down

Edytory rozwijanej są idealnym rozwiązaniem dla typów, które można ustawić za pomocą jednego kliknięcia.Na przykład edytować Dock i BackColor właściwości Control klasy w PropertyGrid za pomocą edytora drop-down.

Dostęp edytora typu interfejsu użytkownika rozwijanej klikając na przycisk strzałki (Okno właściwości strzałka w dół), pojawia się obok wpisu wybranej właściwości w PropertyGrid.Niestandardowe elementy interfejsu użytkownika pojawia się w dołączonych do PropertyGrid.U góry okna jest umieszczony wzdłuż dolnej krawędzi zapis właściwości, a jej szerokość odpowiada zapis właściwości.To okno edytora również muszą być zamknięte, po dokonaniu wyboru.Implementacji należy wywołać DropDownControl metodę do zmiany położenia i rozmiaru Interfejsu użytkownika wpisz okno edytora w środowisku projektowym i musi wywołać CloseDropDown metodę, aby zamknąć okno.

Modalne okno dialogowe edytory

Modalne edytory są przydatne dla typów, które wymagają w pełni interakcyjne interfejsu użytkownika.Na przykład, takie jak edytory kolekcji Elementu TabPage Edytor kolekcji z TabControl lub Edytuj kolumny okno dialogowe z DataGridView kontroli są edytory modalne.

Modalne edytora typu interfejsu użytkownika uzyskać dostęp klikając przycisk wielokropka (VisualStudioEllipsesButton — zrzut ekranu), pojawia się obok wpisu wybranej właściwości w PropertyGrid.Twoje modalne okno dialogowe pojawia się i użytkownik współdziała z nim jak typowe okna dialogowe.Implementacji należy wywołać ShowDialog metodę do zmiany położenia i rozmiaru Twoje okno dialogowe, w środowisku projektowym.

Wykonawczych edytora typu interfejsu użytkownika

Aby wdrożyć niestandardowe edytora typu interfejsu użytkownika, należy wykonać co najmniej następujące zadania:

  • Zdefiniowanie klasy, która wynika z UITypeEditor.

  • Zastąpić GetEditStyle metody informowania PropertyGrid typu stylu edytor, który będzie używany w edytorze.

  • Zastąpić EditValue metody obsługi interfejsu użytkownika, przetwarzanie wejściowych użytkownika i przypisanie wartości.

Można dodać dodatkowe wsparcie dla malowanie reprezentacja wartości w PropertyGrid , wykonując następujące zadania:

  • Zastąpić GetPaintValueSupported , aby wskazać, że edytor obsługuje wyświetlanie reprezentacja wartości.

  • Zastąpić PaintValue do wyświetlania wartości reprezentacji wdrożenia.

  • Zastąpić UITypeEditor metoda konstruktora, jeśli edytor powinny zachowywać się w sposób inicjowania.

[!UWAGA]

Edytory typ interfejsu użytkownika często są implementowane przy użyciu typów z System.Windows.Forms nazw, ale nie jest to wymagane.Standardowe edytory typ interfejsu użytkownika w.NET Framework pochodzić od UITypeEditor.

Wynikające z klasy elementu UITypeEditor.

Edytor typu niestandardowego UI musi pochodzić od UITypeEditor klasy.Jeśli Edytor typu interfejsu użytkownika wymaga specjalnych inicjowania, należy zdefiniować domyślnego konstruktora.

Przesłanianie metody GetEditStyle

Po wybraniu składnika lub formantu w projektancie, Właściwości okno jest odowieżany z wartości właściwości wybranego składnika lub formantu.Po wybraniu właściwości kwerendy środowiska projektowania GetEditStyle metody do określania sposobu stanowią zapis właściwości.

Twoje override zwraca wartość z UITypeEditorEditStyle wyliczenie do komunikowania się odpowiedni styl edytora typu interfejsu użytkownika.

W poniższej tabeli przedstawiono zachowanie związane z każdym UITypeEditorEditStyle wartości.

Nazwa elementu członkowskiego

Zachowanie

None

Zapewnia żaden ze składników interfejsu użytkownika interakcyjnego.Posiadać odpowiednią TypeConverter służy do konwertowania wejścia ciąg wartości właściwości.

DropDown

Wyświetla przycisk Strzałka w dół (Okno właściwości strzałka w dół) w zapisie właściwości.Interfejs użytkownika jest obsługiwany w oknie drop-down.

Modal

Wyświetla przycisk wielokropka (VisualStudioEllipsesButton — zrzut ekranu) w zapisie właściwości.Interfejs użytkownika jest modalne okno dialogowe.

Przesłanianie metody EditValue

EditValue Metoda wyświetla interfejs użytkownika i ustawia wartość właściwości na wartość wybraną przez użytkownika.

Edytor drop-down

Edytor rozwijanej Typ interfejsu użytkownika są kwerendy usługodawca dla IWindowsFormsEditorService interfejsu.Ta usługa zapewnia położenie i rozmiar informacji dla Interfejsu użytkownika.Interfejsu użytkownika będzie implementowane jako Control.Twój EditValue wykonania tworzone jest wystąpienie tego formantu, inicjuje ją z bieżącą wartością właściwości i następnie przekazuje ją do DropDownControl metody wykonywania przez środowisko projektowania.Gdy użytkownik zaznaczy nową wartość dla właściwości, na EditValue wykonania zamyka interfejsu użytkownika, wywołując CloseDropDown.Wartość zwracana z programu EditValue wykonania staje się nową wartość właściwości wyświetlane w PropertyGrid.

Edytor modalnym

Modalne edytorze typu interfejsu użytkownika są kwerendy usługodawca dla IWindowsFormsEditorService interfejsu.Usługa ta udostępnia informacje o stanowisku dla użytkownika, okno dialogowe.Zwykle Interfejsu użytkownika będzie implementowane jako Klasa pochodna od Form.Twój EditValue wykonania tworzone jest wystąpienie tego formularza, inicjuje ją z bieżącą wartością właściwości i następnie przekazuje ją do ShowDialog metody wykonywania przez środowisko projektowania.Jeśli wartość zwracana z tego wywołania jest OK, pobrać nową wartość właściwości z formularza i używać go jako wartość zwracana.Wartość zwracana z programu EditValue wykonania staje się nową wartość właściwości wyświetlane w PropertyGrid.

Parametr ITypeDescriptorContext

EditValue Odbiera metoda ITypeDescriptorContext parametr, który można użyć kwerendy o informacje kontekstowe o środowisko projektowania.Ten parametr umożliwia dostęp do następujących członków:

Dostarczanie graficzna reprezentacja wartości właściwości

Graficzna reprezentacja wartości swoje właściwości można wyświetlać nadrzędnym PaintValue metody.Można używać dostarczonego PaintValueEventArgs parametr, aby narysować swoje przedstawicielstwo w mały prostokąt po lewej stronie wejścia właściwości w PropertyGrid.

[!UWAGA]

Pamiętaj zachować swoje graficzną reprezentację w granicach określonych przez Bounds właściwość PaintValueEventArgs parametru.

Zastąpić GetPaintValueSupported metoda zwraca true, aby alert środowisko projektowania, że edytor typu interfejsu użytkownika farby niestandardowe reprezentacja jej wartość.

Zobacz też

Zadania

Porady: tworzenie edytora typów interfejsu użytkownika

Porady: tworzenie formantu formularzy Windows wykorzystującego funkcje czasu projektowania

Informacje

UITypeEditorEditStyle

IWindowsFormsEditorService

Inne zasoby

Edytory typów interfejsu użytkownika