Aracılığıyla paylaş


.NET Framework 4'e Geçirebileceğiniz Office Projelerindeki Şerit Özelleştirmelerini Güncelleme

Eğer projenizin Şerit (Visual Designer) proje öğesi kullanılarak oluşturulmuş bir Şerit özelleştirmesi varsa ve hedef Framework'u .NET Framework 4 olarak değiştiyse proje kodunuza aşağıdaki değişiklikleri yapmalısınız.

  • Oluşturulmuş Şerit kodunu değiştirme.

  • Şerit denetimlerini çalışma zamanında örnekleyen, Şerit olaylarını işleyen veya bir Şerit bileşeninin konumunu programla ayarlayan tüm kodları değiştirme.

Oluşturulmuş Şerit Kodunu Güncelleme

Eğer projenizin hedef Framework'u .NET Framework 4 olarak değiştiyse, Şerit öğesinin oluşturulmuş kodunu aşağıdaki adımları gerçekleştirerek değiştirmelisiniz. Güncellemeniz gerek kod dosyaları programlama diline ve projeyi nasıl oluşturduğunuza bağlıdır:

  • Visual Basic projelerinde veya Visual Studio 2010'de oluşturduğunuz Visual C# projelerinde, Şerit arka plan kod dosyasındaki (ŞeritÖğeniz.Designer.cs veya ŞeritÖğeniz.Designer.vb) bütün adımları gerçekleştirin. Visual Basic projelerinde arka plan kod dosyasını görmek için Çözüm Gezginindeki Tüm Dosyaları Göster düğmesini tıklatın.

  • Visual Studio 2008 kullanarak oluşturup sonrasında Visual Studio 2010'ye yükselttiğiniz Visual C# projelerinde, Şerit kod dosyasındaki (ŞeritÖğeniz.cs veya ŞeritÖğeniz.vb) ilk iki adımı gerçekleştirin ve Şerit arka plan kod dosyasındaki geri kalan adımları gerçekleştirin.

Oluşturulmuş Şerit kodunu değiştirme

  1. Ribbon (Şerit) sınıfının bildirimini Microsoft.Office.Tools.Ribbon.OfficeRibbon yerine Microsoft.Office.Tools.Ribbon.RibbonBase'den türemesi için değiştirin.

  2. Ribbon sınıfının oluşturucusunu aşağıdaki gibi değiştirin. Oluşturucuya kendi kodunuzu eklediyseniz kodunuzu değiştirmeyin. Visual Basic projelerinde sadece parametresiz oluşturucuları değiştirin. Diğer oluşturucuyu yoksayın.

    Aşağıdaki kod örneğinde .NET Framework 3.5'i hedefleyen bir projedeki Ribbon sınıfının varsayılan oluşturucusu gösterilmektedir.

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

    Aşağıdaki kod örneğinde .NET Framework 4'i hedefleyen bir projedeki Ribbon sınıfının varsayılan oluşturucusu gösterilmektedir.

    Public Sub New()
        MyBase.New(Globals.Factory.GetRibbonFactory())
        InitializeComponent()
    End Sub
    
    public Ribbon1()
        : base(Globals.Factory.GetRibbonFactory())
    {
        InitializeComponent();
    }
    
  3. InitializeComponent yönteminde bir Şerit denetimi oluşturan tüm kodları değiştirin ki kod onun yerine RibbonFactory nesnesinin yardımcı yöntemlerinden birini kullansın.

    Not

    Visual C# projelerinde, InitializeComponent yöntemini görmek için Component Designer generated code adındaki bölgeyi genişletmelisiniz.

    Örneğin, dosyanız .NET Framework 3.5'i hedefleyen bir projede button1 isminde bir RibbonButton örnekleyen aşağıdaki kod satırını içeriyor.

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

    .NET Framework 4'i hedefleyen bir projede, bunun yerine aşağıdaki kodu kullanmalısınız.

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

    Şerit denetimlerinin yardımcı yöntemlerinin tam listesi için bkz. Şerit Denetimlerini Örnekleme.

  4. Visual C# projelerinde bir EventHandler<TEventArgs> temsilcisi kullanan InitializeComponent yöntemindeki tüm kod satırlarını onun yerine belirli bir Şerit temsilcisi kullanmak için değiştirin.

    Örneğin, dosyanız .NET Framework 3.5'i hedefleyen bir projede RibbonButton.Click olayını işleyen aşağıdaki kod satırını içeriyor.

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

    .NET Framework 4'i hedefleyen bir projede, bunun yerine aşağıdaki kodu kullanmalısınız.

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

    Şerit temsilcilerinin tam listesi için bkz. Şerit Olaylarını İşleme.

  5. Visual Basic projelerinde ThisRibbonCollection sınıfını dosyanın sonuna yerleştirin. Bu sınıfının bildirimini Microsoft.Office.Tools.Ribbon.RibbonReadOnlyCollection'den türememesi için değiştirin.

Şerit Denetimlerini Örnekleme

Şerit denetimlerini dinamik olarak örnekleyen tüm kodları değiştirmelisiniz. .NET Framework 3.5'i hedefleyen projelerde Şerit denetimleri belirli durumlarda doğrudan örneklenebilen sınıflardır. .NET Framework 4'i hedefleryen projelerde bu denetimler doğrudan örneklenemeyen arabirimlerdir. Denetimler RibbonFactory nesnesinin sağladığı yöntemler kullanılarak oluşturulmalıdır.

RibbonFactory nesnesine erişmek için iki yol vardır:

  • Ribbon (Şerit) sınıfının Factory özelliği kullanılarak. Ribbon sınıfınızdaki kodda bu yaklaşımı kullanın.

  • Globals.Factory.GetRibbonFactory yöntemi kullanılarak. Ribbon sınıfınızın dışındaki kodda bu yaklaşımı kullanın. Globals sınıfı hakkında daha fazla bilgi için, bkz. Office Projeleri Nesnelerine Genel Erişim.

Aşağıdaki kod örneğinde .NET Framework 4'i hedefleyen bir projedeki Ribbon sınıfında nasıl bir RibbonButton oluşturulacağı gösterilmektedir.

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

Aşağıdaki tabloda, programla oluşturabileceğiniz denetimler ve .NET Framework 4'i hedefleyen projelerde bu denetimleri oluşturmak için kullanılacak yöntemler listelenmiştir.

Denetim

.NET Framework 4 projelerinde kullanılacak RibbonFactory yöntemi

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

Şerit Olaylarını İşleme

Şerit denetimlerinin olaylarını işleyen tüm kodları değiştirmelisiniz. .NET Framework 3.5'i hedefleyen projelerde bu olaylar genel EventHandler<TEventArgs> temsilcisi tarafından işlenir. .NET Framework 4'i hedefleyen projelerde bu olaylar artık diğer temsilciler tarafından işlenmektedir.

Aşağıdaki tabloda, Şerit olayları ve .NET Framework 4'i hedefleyen projelerde bunlarla ilişkili temsilciler listelenmektedir.

Olay

.NET Framework 4 projelerinde kullanılacak temsilci

Oluşturulmuş Ribbon sınıfında LoadImage olayı

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

Bir Şerit Bileşeninin Konumunu Programla Ayarlama

Şerit gruplarının, sekmelerinin veya denetimlerinin konumlarını ayarlayan tüm kodları değiştirmelisiniz. .NET Framework 3.5'i hedefleyen projelerde bir grubun, sekmenin veya denetimin Position özelliğini atamak için durağan Microsoft.Office.Tools.Ribbon.RibbonPosition sınıfının AfterOfficeId ve BeforeOfficeId yöntemlerini kullanabilirsiniz. .NET Framework 4'i hedefleyen projelerde RibbonFactory nesnesinin sağladığı RibbonPosition özelliğini kullanarak bu yöntemlere ulaşmalısınız.

RibbonFactory nesnesine erişmek için iki yol vardır:

  • Ribbon (Şerit) sınıfının Factory özelliği kullanılarak. Ribbon sınıfınızdaki kodda bu yaklaşımı kullanın.

  • Globals.Factory.GetRibbonFactory yöntemi kullanılarak. Ribbon sınıfınızın dışındaki kodda bu yaklaşımı kullanın. Globals sınıfı hakkında daha fazla bilgi için, bkz. Office Projeleri Nesnelerine Genel Erişim.

Aşağıdaki kod örneğinde .NET Framework 3.5'i hedefleyen bir projede Ribbon sınıfındaki bir sekmenin Position özelliğinin nasıl ayarlanacağı gösterilmektedir.

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

Aşağıdaki kodda aynı görevin .NET Framework 4'i hedefleyen bir projede nasıl yapılacağı gösterilmektedir.

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

Ayrıca bkz.

Kavramlar

Office Çözümlerini .NET Framework 4'e Taşıma

Şerit Tasarımcısı