Sdílet prostřednictvím


Uživatelské rozhraní typu editory přehled

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 Jak: implementovat typ Converter.

  • 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.

ms171839.collapse_all(cs-cz,VS.110).gifRozeví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 Vlastnosti š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.

ms171839.collapse_all(cs-cz,VS.110).gifModá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.

ms171839.collapse_all(cs-cz,VS.110).gifOdvozené 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.

ms171839.collapse_all(cs-cz,VS.110).gifPotlač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 Vlastnosti š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.

ms171839.collapse_all(cs-cz,VS.110).gifPotlač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:

ms171839.collapse_all(cs-cz,VS.110).gifPoskytuje 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

Jak: vytvoření typ Editor uživatelského rozhraní

Jak: vytvořit ovládací prvek model Windows Forms, který využívá funkce návrhu.

Referenční dokumentace

UITypeEditorEditStyle

IWindowsFormsEditorService

Další zdroje

Uživatelské rozhraní typu editory