Sdílet prostřednictvím


Přehled editorů typů uživatelského rozhraní

Můžete zadat vlastní zkušenosti návrhu pro komplexní vlastnosti typy implementací do uživatelského rozhraní (UI) typ editoru.

Zobrazení a úpravy vlastní typy

Když budete vystavovat vlastní typ jako vlastnost, jsou tři způsoby upravit hodnotu vlastnosti v PropertyGrid:

  • Můžete upravit své vlastnosti v místě jako řetězec.To vyžaduje TypeConverter pro vlastní typ.Další informace naleznete v tématu Postupy: Implementace konvertoru typů.

  • Můžete upravit své vlastnosti s rozevírací UI.To je užitečné pro vlastnosti, které lze nastavit jediným klepnutím.

  • Můžete upravit vaše vlastnost modální dialogové okno.Vaše vlastnost je obzvláště složité, může být nezbytné upravit správně celé dialogové okno.

Chcete-li klepnutím nebo úpravy pole modální dialogové okno, je nutné implementovat typ editor uživatelského rozhraní pro interakci s PropertyGrid.

Rozevírací editory

Rozevírací editory jsou ideální pro typy, které lze nastavit jediným klepnutím.Například můžete upravit Dock a BackColor vlastnosti Control třídy v PropertyGrid v Editoru rozbalovací.

Přístup do Editoru rozbalovací uživatelského rozhraní typu klepnutím na tlačítko se šipkou (Okno vlastností šipka dolů), zobrazí se vedle vlastnosti vybrané položky v PropertyGrid.Zobrazí se vaše vlastní uživatelské rozhraní připojené k PropertyGrid.Horní části okna je umístěn v dolní části položky vlastnosti a jeho šířka odpovídá položku Vlastnosti.Toto okno editor také uzavřen poté, co uživatel provede výběr.Implementace musí volat DropDownControl zadejte způsob umístění a velikost rozhraní okna editoru návrhové prostředí a musí volat CloseDropDown metoda zavřete okno.

Modální dialogové okno editory

Modální editory jsou užitečné pro typy, které vyžadují plně interaktivní uživatelské rozhraní.Například typu kolekce editory Objekt TabPage Editor kolekce z TabControl nebo Upravit sloupce dialogovém okně DataGridView řízení jsou modální editory.

Přístup modální okno editoru typu UI klepnutím na tlačítko se třemi tečkami (VisualStudioEllipsesButton – snímek obrazovky), zobrazí se vedle vlastnosti vybrané položky v PropertyGrid.Zobrazí modální dialogové a interakci uživatele s ní jako typické dialogové okno.Implementace musí volat ShowDialog způsob umístění a velikost v dialogovém okně návrhové prostředí.

Provádění typ Editor uživatelského rozhraní

Chcete-li implementovat vlastní typ editor uživatelského rozhraní, musí alespoň provádět následující úkoly:

  • Definování třídy, který je odvozen od UITypeEditor.

  • Přepsat GetEditStyle metoda informovat PropertyGrid typu editor stylu, který bude používat editor.

  • Přepsat EditValue metoda zpracování uživatelského rozhraní, zpracování vstupu uživatele a přiřazení hodnoty.

Můžete přidat další podporu pro malování hodnotu zastoupení v PropertyGrid provedením následujících úkolů:

  • Přepsat GetPaintValueSupported označuje, že editor podporuje zobrazení na hodnotu reprezentace.

  • Přepsat PaintValue implementovat zobrazení na hodnotu zastoupení.

  • Přepsat UITypeEditor metodu konstruktoru, pokud by inicializace chování editoru.

[!POZNÁMKA]

Editory typ uživatelského rozhraní jsou často implementovány pomocí typů z System.Windows.Forms oboru názvů, ale to není vyžadováno.Standardní editory typ uživatelského rozhraní v.NET Framework je odvozena od UITypeEditor.

Odvozené od třídy typu UITypeEditor

Vlastní typ editor uživatelského rozhraní musí být odvozena od UITypeEditor třídy.Pokud editor uživatelského rozhraní typu vyžaduje speciální inicializační, definujte výchozí konstruktor.

Potlačení metody GetEditStyle

Když vyberete komponenta nebo ovládací prvek v Návrháři Vlastnosti je okno překreslit s hodnotami vlastností vybrané součásti nebo ovládacího prvku.Když vyberete vlastnost dotazy návrhové prostředí GetEditStyle metoda jak představují položky vlastnosti.

Přepsat vaše vrátí hodnotu z UITypeEditorEditStyle komunikaci odpovídající styl uživatelského rozhraní editoru typ výčtu.

Následující tabulka zobrazuje chování spojených s jednotlivými UITypeEditorEditStyle hodnotu.

Název členu

Chování

None

Poskytuje žádné interaktivní komponenty uživatelského rozhraní.Vhodného TypeConverter se používá k zadání řetězce převést na hodnotu vlastnosti.

DropDown

Zobrazí se tlačítko šipka dolů (Okno vlastností šipka dolů) v položce vlastnosti.Uživatelské rozhraní je hostitelem v rozbalovací okno.

Modal

Zobrazí tlačítko elipsy (VisualStudioEllipsesButton – snímek obrazovky) v položce vlastnosti.Uživatelské rozhraní je modální dialogové okno.

Potlačení metody EditValue

EditValue Metoda zobrazí uživatelské rozhraní a nastaví hodnotu vlastnosti uživatelem vybrané hodnoty.

Editor rozbalovací

Pro rozevírací uživatelského rozhraní typu editor, dotaz poskytovatel metadat pro IWindowsFormsEditorService rozhraní.Tato služba poskytuje umístění a velikost informací o rozhraní.Rozhraní se obvykle provádí jako Control.Vaše EditValue provádění vytvoří instanci tohoto ovládacího prvku, inicializuje s aktuální hodnotou vlastnosti a předá jej DropDownControl metoda pro provedení v návrhovém prostředí.Když uživatel vybral nové hodnoty pro vlastnost, vaše EditValue provádění ukončí voláním uživatelského rozhraní CloseDropDown.Vrácená hodnota z vašeho EditValue implementace se stane novou hodnotu vlastnosti v PropertyGrid.

Editor modalem

Pro modální editor uživatelského rozhraní typu dotazu poskytovatel metadat pro IWindowsFormsEditorService rozhraní.Tato služba poskytuje informace o pozici k dialogovému oknu.Rozhraní budou implementovány obvykle třídy odvozené od Form.Vaše EditValue provádění vytvoří instanci tohoto formuláře, inicializuje s aktuální hodnotou vlastnosti a předá jej ShowDialog metoda pro provedení v návrhovém prostředí.Pokud je vrácená hodnota tohoto volání OK, načíst novou hodnotu vlastnosti z formuláře a použít jako návratová hodnota.Vrácená hodnota z vašeho EditValue implementace se stane novou hodnotu vlastnosti v PropertyGrid.

Parametr ITypeDescriptorContext

EditValue Metoda obdrží ITypeDescriptorContext parametr, který lze použít kontextové informace o prostředí návrhu dotazu.Tento parametr lze získat přístup následující členy:

Poskytuje grafické znázornění hodnotu vlastnosti

Přepsáním lze zobrazit grafické znázornění hodnota této vlastnosti PaintValue metoda.Můžete použít zadaný PaintValueEventArgs parametr kreslení své zastoupení v malý obdélník na levé straně položky na vlastnost v PropertyGrid.

[!POZNÁMKA]

Nezapomeňte si vaše grafické znázornění v rámci definované Bounds vlastnost PaintValueEventArgs parametr.

Přepsat GetPaintValueSupported metoda vrátí hodnotu true návrhové prostředí upozornit, že editor uživatelského rozhraní typu maluje vlastní vyjádření jeho hodnoty.

Viz také

Úkoly

Postupy: Vytvoření editoru typů uživatelského rozhraní

Postupy: Vytvoření ovládacího prvku Windows Forms, který využívá funkce sady Visual Studio pro dobu návrhu

Referenční dokumentace

UITypeEditorEditStyle

IWindowsFormsEditorService

Další zdroje

Editory typů uživatelského rozhraní