Sdílet prostřednictvím


Nastavení ikony ovládacího prvku v sadě nástrojů

Ovládací prvky, které vytvoříte, vždy obdrží obecnou ikonu pro okno Sady nástrojů v sadě Visual Studio. Když ale ikonu změníte, dodá vašemu ovládacímu prvku profesionální vzhled a umožní mu vyniknout v panelu nástrojů. V tomto článku se naučíte, jak nastavit ikonu ovládacího prvku.

Ikona bitové mapy

Ikony pro okno panelu nástrojů v sadě Visual Studio musí odpovídat určitým standardům, jinak se ignorují nebo se zobrazují nesprávně.

  • Velikost: Ikony ovládacího prvku musí mít bitmapový obrázek 16x16.
  • Typ souboru: Ikona může být rastrový obrázek (.bmp) nebo soubor ikony Systému Windows (.ico).
  • Průhlednost: Purpurová barva (RGB: 255,0,255, Hex: 0xFF00FF) je vykreslena průhledná.
  • Motivy: Visual Studio má více motivů, ale každý motiv se považuje za tmavý nebo světlý. Ikona by měla být navržená pro světlý motiv. Pokud Visual Studio používá tmavý motiv, tmavé a světlé barvy v ikoně se automaticky invertují.

Přiřazení ikony

Ikony jsou přiřazeny ovládacímu prvku s atributem ToolboxBitmapAttribute . Další informace o atributech najdete v tématu Atributy (C#) nebo Přehled atributů (Visual Basic).

Návod

Ukázkovou ikonu si můžete stáhnout z GitHubu.

Atribut je nastaven na třídu ovládacího prvku a má tři různé konstruktory:

  • ToolboxBitmapAttribute(Type)– Tento konstruktor přijímá jeden odkaz na typ a pokouší se v něm najít vložený prostředek, který bude použit jako ikona.

    FullName slouží k vyhledání vloženého prostředku v sestavení daného typu pomocí následujícího formátu: {project-name}.{namespace-path}.{type-name}{.bmp|.ico}. Pokud je například odkazován na typ MyProject.MyNamespace.CompassRose , atribut vyhledá vložený prostředek s názvem MyProject.MyNamespace.CompassRose.bmp nebo MyProject.MyNamespace.CompassRose.ico.

    // Looks for a CompassRose.bmp or CompassRose.ico embedded resource in the
    // same namespace as the CompassRose type.
    [ToolboxBitmap(typeof(CompassRose))]
    public partial class CompassRose : UserControl
    {
        // Code for the control
    }
    
    ' Looks for a CompassRose.bmp or CompassRose.ico embedded resource in the
    ' same namespace as the CompassRose type.
    <ToolboxBitmap(GetType(CompassRose))>
    Public Class CompassRose
        ' Code for the control
    End Class
    
  • ToolboxBitmapAttribute(Type, String)– Tento konstruktor má dva parametry. První parametr je typ a druhý je obor názvů a název vloženého prostředku v sestavení tohoto typu.

    // Loads the icon from the WinFormsApp1.Resources.CompassRose.bmp resource
    // in the assembly containing the type CompassRose
    [ToolboxBitmap(typeof(CompassRose), "WinFormsApp1.Resources.CompassRose.bmp")]
    public partial class CompassRose : UserControl
    {
        // Code for the control
    }
    
    ' Loads the icon from the WinFormsApp1.Resources.CompassRose.bmp resource
    ' in the assembly containing the type CompassRose
    <ToolboxBitmap(GetType(CompassRose), "WinFormsApp1.Resources.CompassRose.bmp")>
    Public Class CompassRose
        ' Code for the control
    End Class
    
  • ToolboxBitmapAttribute(String)– Tento konstruktor přebírá jeden řetězcový parametr, absolutní cestu k souboru ikony.

    // Loads the icon from a file on disk
    [ToolboxBitmap(@"C:\Files\Resources\MyIcon.bmp")]
    public partial class CompassRose : UserControl
    {
        // Code for the control
    }
    
    ' Loads the icon from a file on disk
    <ToolboxBitmap("C:\Files\Resources\MyIcon.bmp")>
    Public Class CompassRose
        ' Code for the control
    End Class