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.
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 (), 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 (), 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í |
---|---|
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. |
|
Zobrazí se tlačítko šipka dolů ( |
|
Zobrazí tlačítko elipsy ( |
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:
A PropertyDescriptor , představuje vlastnosti metadat
Instance Vlastnost, která odkazuje na součást, která je vybrána v PropertyGrid.
Komponenty IContainer.
OnComponentChanginga OnComponentChanged metod, které upozorní návrhové prostředí při změně stavu součásti.
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
Jak: vytvoření typ Editor uživatelského rozhraní
Jak: vytvořit ovládací prvek model Windows Forms, který využívá funkce návrhu.