Sdílet prostřednictvím


Aktualizace vlastních nastavení pásu karet v projektech Office při migraci na rozhraní .NET Framework 4 nebo .NET Framework 4.5

Pokud váš projekt obsahuje vlastní nastavení pásu karet, který byl vytvořen pomocí pásu karet (vizuální návrhář) položky projektu, můžete ke změně cílové rozhraní proveďte následující změny v kódu projektu .NET Framework 4 nebo .NET Framework 4,5:

  • Upravte pás karet generovaný kód.

  • Upravte jakýkoli kód, který vytvoří ovládací prvky pásu karet za běhu, zpracovává události pásu karet nebo programově nastavuje umístění součástí pásu karet.

Aktualizace kódu generovaného pásu karet

Pokud cílový rámec projektu je změněn na .NET Framework 4 nebo .NET Framework 4,5, generovaný kód pro položku pásu karet je nutné změnit provedením následujících kroků.Soubory kódu, které je třeba aktualizovat v závislosti na programovacím jazykem a vytvoření projektu:

  • Projekty jazyka Visual Basic nebo Visual C# projekty, které jste vytvořili v obou Visual Studio 2012 nebo Visual Studio 2010 provést všechny kroky uvedené v souboru kódu na pozadí pásu karet (YourRibbonItem.Designer.cs nebo YourRibbonItem.Designer.vb).Soubor kódu na pozadí v projekty Visual Basic zobrazíte klepnutím Zobrazit všechny soubory tlačítko v Průzkumník řešení.

  • V Visual C# projekty, které jste vytvořili v aplikaci Visual Studio 2008 a potom provedli inovaci na Visual Studio 2013, první dva kroky provést ve zdrojovém souboru pásu karet (YourRibbonItem.cs nebo YourRibbonItem.vb) a proveďte zbývající kroky v souboru kódu na pozadí pásu karet.

Chcete-li změnit kód generovaný pásu karet

  1. Upravit deklaraci třídy pásu karet je odvozen od RibbonBase místo Microsoft.Office.Tools.Ribbon.OfficeRibbon.

  2. Upravte konstruktor třídy pásu jak je ukázáno níže.Pokud nepřidáte žádné vlastní kód konstruktoru, neměňte kód.V projektech Visual Basic změňte pouze konstruktor bez parametrů.Ignorujte ostatní konstruktoru.

    Následující příklad kódu ukazuje výchozí konstruktor třídy pásu karet v projektu který je cílen na rozhraní.NET Framework 3.5.

    Public Sub New()
        MyBase.New()
        InitializeComponent()
    End Sub
    
    public Ribbon1()
    {
        InitializeComponent();
    }
    

    Následující příklad kódu ukazuje výchozí konstruktor třídy pásu karet v projektu který se zaměřuje .NET Framework 4 nebo .NET Framework 4,5.

    Public Sub New()
        MyBase.New(Globals.Factory.GetRibbonFactory())
        InitializeComponent()
    End Sub
    
    public Ribbon1()
        : base(Globals.Factory.GetRibbonFactory())
    {
        InitializeComponent();
    }
    
  3. V InitializeComponent metoda, upravit žádný kód, který vytváří ovládací prvek pásu tak, aby kód použije jeden z pomocných metod RibbonFactory objektu.

    [!POZNÁMKA]

    V jazyce Visual C# projekty, musí rozšířit oblast s názvem Component Designer generated code Chcete-li zobrazit InitializeComponent metody.

    Předpokládejme, že soubor obsahuje následující řádek kódu, který vytvoří RibbonButton s názvem button1 v projektu, který je cílen na rozhraní.NET Framework 3.5.

    Me.button1 = New Microsoft.Office.Tools.Ribbon.RibbonButton()
    
    this.button1 = new Microsoft.Office.Tools.Ribbon.RibbonButton();
    

    V projektu, který se zaměřuje .NET Framework 4 nebo .NET Framework 4,5, místo toho je nutné použít následující kód.

    Me.button1 = Me.Factory.CreateRibbonButton()
    
    this.button1 = this.Factory.CreateRibbonButton();
    

    Úplný seznam pomocné metody pro ovládací prvky pásu karet naleznete v tématu Konkretizace ovládací prvky pásu karet.

  4. V jazyce Visual C# projekty, upravit každý řádek kódu v InitializeComponent metoda, která používá EventHandler delegáta můžete určitý delegát pásu karet.

    Předpokládejme, že soubor obsahuje následující řádek kódu, který zpracovává RibbonButton.Click události v projektu, který je cílen na rozhraní.NET Framework 3.5.

    this.button1.Click += new System.EventHandler<Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>(
        this.button1_Click);
    

    V projektu, který se zaměřuje .NET Framework 4 nebo .NET Framework 4,5, místo toho je nutné použít následující kód.

    this.button1.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(
        this.button1_Click);
    

    Úplný seznam delegátů pásu karet naleznete v tématu Zpracování události pásu.

  5. V projektech aplikace Visual Basic, vyhledejte ThisRibbonCollection třídu na konec souboru.Změňte deklaraci této třídy tak, aby již dědí z Microsoft.Office.Tools.Ribbon.RibbonReadOnlyCollection.

Vytvoření instance ovládací prvky pásu karet

Je třeba upravit jakýkoli kód, který vytvoří dynamické ovládací prvky pásu karet.V projektech cílených na rozhraní.NET Framework 3.5 ovládací prvky pásu karet jsou třídy, které můžete vytvořit instanci přímo v určitých situacích.V projektech, které se zaměřují .NET Framework 4 nebo .NET Framework 4,5, jsou tyto ovládací prvky nelze přímo vytvořit instanci rozhraní.Ovládací prvky je nutné vytvořit pomocí metod, které jsou poskytovány RibbonFactory objektu.

Existují dva způsoby přístupu RibbonFactory objekt:

  • Při použití Factory vlastnosti třídy pásu karet.Použijte tento přístup z kódu ve vaší třídě pásu karet.

  • Při použití Globals.Factory.GetRibbonFactory metody.Použijte tento přístup z kódu mimo danou třídu pásu karet.Další informace týkající Globals třídy naleznete v tématu Globální přístup k objektům v projektech pro systém Office.

Následující příklad kódu ukazuje, jak vytvořit RibbonButton ve třídě pásu karet v projektu, který se zaměřuje .NET Framework 4 nebo .NET Framework 4,5.

Dim button As Microsoft.Office.Tools.Ribbon.RibbonButton =
    Me.Factory.CreateRibbonButton()
Microsoft.Office.Tools.Ribbon.RibbonButton button =
    this.Factory.CreateRibbonButton();

V následující tabulce jsou uvedeny ovládací prvky, které můžete programově vytvořit a metodu použít k vytvoření ovládacích prvků v projektech cílených .NET Framework 4 nebo .NET Framework 4,5.

Ovládací prvek

Metodu RibbonFactory v .NET Framework 4 a .NET Framework 4,5 projekty

RibbonButton

CreateRibbonButton

RibbonButtonGroup

CreateRibbonButtonGroup

RibbonCheckBox

CreateRibbonCheckBox

RibbonComboBox

CreateRibbonComboBox

RibbonDialogLauncher

CreateRibbonDialogLauncher

RibbonDropDown:

CreateRibbonDropDown

RibbonDropDownItem

CreateRibbonDropDownItem

RibbonEditBox

CreateRibbonEditBox

RibbonGallery

CreateRibbonGallery

RibbonGroup

CreateRibbonGroup

RibbonLabel

CreateRibbonLabel

RibbonManager

CreateRibbonManager

RibbonMenu

CreateRibbonMenu

RibbonSeparator

CreateRibbonSeparator

RibbonSplitButton

CreateRibbonSplitButton

RibbonTab

CreateRibbonTab

RibbonToggleButton

CreateRibbonToggleButton

Zpracování událostí pásu karet

Je třeba upravit jakýkoli kód, který zpracovává události pro ovládací prvky pásu karet.V projektech cílených na rozhraní.NET Framework 3.5, tyto události jsou zpracovány podle obecného EventHandler delegáta.V projektech, které se zaměřují .NET Framework 4 nebo .NET Framework 4,5, tyto události jsou nyní zpracována jiných delegátů.

V následující tabulce jsou uvedeny události pásu karet a delegáty, kteří jsou s nimi spojeni v projektech cílených .NET Framework 4 nebo .NET Framework 4,5.

Událost

Delegát v .NET Framework 4 a .NET Framework 4,5 projekty

LoadImageudálosti generované třídy pásu karet

RibbonLoadImageEventHandler

Load

RibbonUIEventHandler

RibbonButton.Click

RibbonCheckBox.Click

RibbonComboBox.ItemsLoading

RibbonComboBox.TextChanged

RibbonDropDown.ButtonClick

RibbonDropDown.ItemsLoading

RibbonDropDown.SelectionChanged

RibbonEditBox.TextChanged

RibbonGallery.ButtonClick

RibbonGallery.Click

RibbonGallery.ItemsLoading

RibbonGroup.DialogLauncherClick

RibbonMenu.ItemsLoading

RibbonSplitButton.Click

RibbonToggleButton.Click

RibbonControlEventHandler

Programové nastavení polohy pásu komponenty

Je třeba upravit jakýkoli kód, který nastaví pozici skupiny pásu karet, karet nebo ovládacích prvků.V projektech cílených na rozhraní.NET Framework 3.5, je použít AfterOfficeId a BeforeOfficeId statické metody Microsoft.Office.Tools.Ribbon.RibbonPosition třídy přiřazení Position vlastnosti skupiny, kartu nebo ovládacího prvku.V projektech, které se zaměřují .NET Framework 4 nebo .NET Framework 4,5, tyto metody musí přistupovat pomocí RibbonPosition vlastnost poskytované RibbonFactory objektu.

Existují dva způsoby přístupu RibbonFactory objekt:

  • Při použití Factory vlastnosti třídy pásu karet.Použijte tento přístup z kódu ve vaší třídě pásu karet.

  • Při použití Globals.Factory.GetRibbonFactory metody.Použijte tento přístup z kódu mimo danou třídu pásu karet.Další informace týkající Globals třídy naleznete v tématu Globální přístup k objektům v projektech pro systém Office.

Následující příklad kódu ukazuje, jak nastavit Position vlastnost karty pásu karet třídy v projektu, který je cílen na rozhraní.NET Framework 3.5.

Me.tab1.Position = RibbonPosition.AfterOfficeId("TabHome")
this.tab1.Position = RibbonPosition.AfterOfficeId("TabHome");

Následující příklad kódu ukazuje stejný úkol v projektu, který se zaměřuje .NET Framework 4.

Me.tab1.Position = Me.Factory.RibbonPosition.AfterOfficeId("TabHome")
this.tab1.Position = this.Factory.RibbonPosition.AfterOfficeId("TabHome");

Viz také

Koncepty

Migrace řešení Office na rozhraní .NET Framework 4 nebo .NET Framework 4.5

Návrhář pásu karet