Şerit Nesne Modeline Genel Bakış
Office çalışma zamanı için Visual Studio Araçları Almak ve çalışma zamanında Şerit denetimlerinin özelliklerini ayarlamak için kullanabileceğiniz türü belirlenmiş bir nesne modeli sağlar.Örneğin, menü denetimlerini dinamik olarak doldurabilirsiniz veya denetimleri içeriksel olarak gösterip saklayabilirsiniz. Şerit, ancak sadece Şerit Office uygulaması tarafından yüklenmeden önce sekmeler, gruplar ve denetimler de ekleyebilirsiniz.Bilgi için, bkz. Setting Properties That Become Read-Only (Salt Okunur Olan Özellikleri Ayarla).
Uygulama hedefi: Bu konudaki bilgiler, şu uygulamalar için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir: Excel 2013 ve Excel 2010; InfoPath 2013 ve InfoPath 2010; Outlook 2013 ve Outlook 2010; PowerPoint 2013 ve PowerPoint 2010; Project 2013 ve Project 2010; Visio 2013 ve Visio 2010; Word 2013 ve Word 2010. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Şerit nesne modeli genel olarak Şerit Sınıfı, Şerit Olayları ve Şerit Denetim Sınıfları'ndan oluşur.
Şerit Sınıfı
Eklediğinizde, yeni bir Şerit (Görsel Tasarımcı) Visual Studio ekler bir proje için madde bir Ribbon sınıf projenize.Ribbon Sınıfının devraldığı RibbonBase sınıf.
Bu sınıf, Şerit kod dosyası ve Şerit Tasarımcısı kod dosyası arasında bölme olan parçalı sınıf olarak görülür.
Şerit Olayları
Ribbon Sınıfı, aşağıdaki üç olay içerir:
Olay |
Tanımlama |
---|---|
Office uygulaması Şerit Özelleştirmelerini yüklediğinde oluşur.Load Olay işleyicisi otomatik olarak Şerit kod dosyasına eklenir.Bu olay işleyicisi Şerit yüklediğinde özel kodu çalıştırmak için kullanın. |
|
Şerit yüklediğinde Şerit özelleştirmesindeki görüntüleri önbelleğe sağlar.Bu olay işleyicisinde Şerit görüntülerini önbelleğe almak için kod yazmak, küçük bir başarım kazancı elde edebilirsiniz.Daha fazla bilgi için bkz. LoadImage. |
|
Şerit örneği kapandığında ortaya çıkar. |
Şerit Denetimleri
Microsoft.Office.Tools.Ribbon isim-uzayı, Araç Kutusu'nun Office Şerit Denetimleri grubunda gördüğünüz her tür denetimi içerir.
Aşağıdaki tablo türü için gösterilir Ribbon denetim.Her denetimin açıklaması için, bkz. Şerite Genel Bakış.
Denetim türü |
Sınıf adı |
---|---|
Kutu |
|
Düğme |
|
ButtonGroup |
|
Onay Kutusu |
|
ComboBox |
|
DropDown |
|
EditBox |
|
Gallery |
|
Group |
|
Etiket |
|
Menü |
|
Ayırıcı |
|
SplitButton |
|
Sekme |
|
ToggleButton |
Microsoft.Office.Tools.Ribbon isim-uzayı, System.Windows.Forms isim-uzayındaki denetim sınıfı isimleriyle isim çakışmasından kaçınmak için bu türlere "Şerit" önekini kullanır.
Şerit Tasarımcısına denetim eklediğinizde, Şerit Tasarımcısı o denetim için Şerit Tasarımcısı kod dosyasında bir alan olarak sınıf bildirir.
Şerit Denetimlerinin Özelliklerini Kullanan Ortak Görevler
Her Ribbon Denetim etiketi denetime atama veya gizleme ve gösterme gibi çeşitli görevleri gerçekleştirmek için kullanabileceğiniz özellikler içerir.
Bazı durumlarda, Özellikler Şerit yüklemeden sonra veya dinamik menüye denetim eklendikten sonra salt okunur hale gelir.Bilgi için, bkz. Setting Properties That Become Read-Only (Salt Okunur Olan Ayar Özellikleri).
Aşağıdaki tabloda bazı kullanarak gerçekleştirebileceğiniz görevleri açıklar Ribbon özelliklerini denetler.
Bu görev için: |
Bunu yapın: |
---|---|
Denetimi gizle veya gösterme. |
Visible özelliğini kullanın. |
Denetimi etkinleştirme veya devre dışı bırakma. |
Enabled özelliğini kullanın. |
Denetimin boyutunu ayarlama. |
ControlSize özelliğini kullanın. |
Denetimde görünen resmi alma. |
Image özelliğini kullanın. |
Denetimin etiketini değiştirme. |
Label özelliğini kullanın. |
Denetime kullanıcı tanımlı veri ekleme. |
Tag özelliğini kullanın. |
Öğeleri RibbonBox, RibbonDropDown, RibbonGallery'den alma veya RibbonSplitButton denetimi. |
Items özelliğini kullanın. |
Öğeleri, RibbonComboBox, RibbonDropDown veya RibbonGallery denetimine ekleme. |
Items özelliğini kullanın. |
RibbonMenu'ye denetimler ekleme. |
Items özelliğini kullanın. Denetimler eklemek için RibbonMenu Şerit Office uygulamasına yüklendikten sonra ayarlamanız gerekir Dynamic özelliğine true Şerit Office uygulamasına yüklenmeden önce.Bilgi için, bkz. Setting Properties That Become Read-Only (Salt Okunur Olan Özellikleri Ayarla). |
RibbonComboBox'ın seçili öğesini alma. RibbonDropDown veya RibbonGallery. |
SelectedItem özelliğini kullanın.RibbonComboBox için, Text özelliğini kullanın. |
RibbonTab üzerinden grupları alma. |
Groups özelliğini kullanın. |
RibbonGallery'da görünen satır ve sütunların sayısını belirleme. |
RowCount ve ColumnCount özelliklerini kullanın. |
Salt Okunur Olan Özellikleri Ayarlama
Bazı özellikler sadece Şerit yüklemeden önce ayarlanabilir.Bu özellikleri ayarlamak için üç tane yer vardır:
Visual Studio'daki Özellikler penceresi.
Oluşturucusunun içinde Ribbon sınıf.
Projenizin ThisAddin, ThisWorkbook veya ThisDocument sınıfının CreateRibbonExtensibilityObject yönteminin içi.
Dinamik menüler bazı özel durumlar sağlar.Yeni denetimler oluşturmak, özelliklerini ayarlayabilir ve bunları bile menüyü içeren Şerit yüklendikten sonra çalışma zamanında dinamik menüye ekleyin.
Dinamik menüye eklediğiniz denetimlerin özellikleri herhangi bir zamanda ayarlanabilir.
Daha fazla bilgi için, bkz. Setting Properties That Become Read-Only (Salt Okunur Olan Özellikleri Ayarlama).
Şeritin Yapıcısında Özellikleri Ayarlama
Özelliklerini ayarlamak bir Ribbon oluşturucusunun denetiminde Ribbon sınıf.InitializeComponent yöntemini çağırdıktan sonra bu kod görünmelidir.Aşağıdaki örnekte, eğer geçerli zaman 17:00 Pacific Time (UTC-8) veya daha geç ise, gruba yeni düğme eklenir.
Aşağıdaki kodu ekleyin:
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New(Globals.Factory.GetRibbonFactory())
'This call is required by the Component Designer.
InitializeComponent()
Dim MyButton As Microsoft.Office.Tools.Ribbon.RibbonButton = _
Me.Factory.CreateRibbonButton()
MyButton.Label = "New Button"
If System.DateTime.Now.Hour > 16 Then
Group1.Items.Add(MyButton)
End If
End Sub
public Ribbon1()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
if (System.DateTime.Now.Hour > 16)
{
Microsoft.Office.Tools.Ribbon.RibbonButton button =
this.Factory.CreateRibbonButton();
button.Label = "New Button";
group1.Items.Add(button);
}
}
Visual Studio 2008'den yükselttiğiniz Visual C# projelerinde, yapıcı Şerit kod dosyasında görünür.
Visual Basic projelerinde veya oluşturduğunuz Visual C# projelerinde Visual Studio 2013, yapıcı Şerit Tasarımcısı kod dosyasında görünür.Bu dosyanın adı YourRibbonItem.Designer.cs veya YourRibbonItem.Designer.vb olarak adlandırılır.Visual Basic projelerinde bu dosyayı görmek için, Çözüm Gezginindeki Tüm Dosyaları Göster düğmesini tıklatın.
CreateRibbonExtensibilityObject Yöntemindeki Özellikleri Ayarlama
Özelliklerini ayarlayabilirsiniz bir Ribbon geçersiz olduğunda kontrol CreateRibbonExtensibilityObject yönteminde ThisAddin, ThisWorkbook, veya ThisDocument , projenizin sınıfı.CreateRibbonExtensibilityObject yöntemi hakkında daha fazla bilgi için, bkz. Şerite Genel Bakış.
Aşağıdaki örnek yöntemindeki özellikler ayarlanır CreateRibbonExtensibilityObject yöntemi, ThisWorkbook sınıfı, bir Excel çalışma kitabı projesi.
Aşağıdaki kodu ekleyin:
Protected Overrides Function CreateRibbonExtensibilityObject() _
As Microsoft.Office.Core.IRibbonExtensibility
Dim myCondition As Boolean = True
If myCondition = True Then
Dim tempRibbon As New Ribbon1()
tempRibbon.Tab1.ControlId.ControlIdType = _
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office
tempRibbon.Tab1.ControlId.OfficeId = "TabHome"
Return Globals.Factory.GetRibbonFactory.CreateRibbonManager _
(New Microsoft.Office.Tools.Ribbon.IRibbonExtension() {tempRibbon})
Else
Dim tempRibbon As New Ribbon2()
tempRibbon.Tab1.ControlId.ControlIdType = _
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office
tempRibbon.Tab1.ControlId.OfficeId = "TabInsert"
Return Globals.Factory.GetRibbonFactory.CreateRibbonManager _
(New Microsoft.Office.Tools.Ribbon.IRibbonExtension() {tempRibbon})
End If
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
bool myCondition = false;
if (myCondition == true)
{
Ribbon1 tempRibbon = new Ribbon1();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabHome";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[]
{ tempRibbon });
}
else
{
Ribbon2 tempRibbon = new Ribbon2();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });
}
}
Salt Okunur Olan Özellikler
Aşağıdaki tabloda, sadece Şerit yüklemeden önce ayarlanabilir özellikler gösterilir.
[!NOT]
Dinamik menüdeki denetimlerin özelliklerini herhangi bir zamanda ayarlanabilirsiniz.Bu durumda aşağıdaki tablo uygulanmaz.
Özellik |
Şerit denetim sınıfı |
---|---|
BoxStyle |
|
ButtonType |
|
ColumnCount |
|
ControlId |
|
DialogLauncher |
|
Dinamik |
|
Genel |
|
Gruplar |
|
ImageName |
|
ItemSize |
|
MaxLength |
|
Ad |
|
Position |
|
RibbonType |
|
RowCount |
|
ShowItemImage |
|
ShowItemLabel |
|
ShowItemSelection |
|
SizeString |
|
StartFromScratch |
|
Sekmeler |
|
Başlık |
Outlook Deneticilerinde Görünen Şeritler için Özellikleri Ayarlama
Kullanıcı Şerit göründüğü bir denetleyici her açtığında Şerit'in yeni bir örneği oluşturulur.Ancak, yalnızca ilk Şerit örneği oluşturulmadan önce yukarıdaki tabloda listelenen özellikleri ayarlayabilirsiniz.Sonra ilk örneği oluşturulduğunda, bu özellikleri ilk örnek Outlook'un şeridi yüklemek için kullandığı XML dosyası tanımlar çünkü salt okunur.
Şerit'in diğer örnekleri oluşturulduğunda bu özelliklerden herhangi birini farklı bir değere ayarlar koşullu mantığı varsa, bu kod hiçbir etkisi olmayacaktır.
[!NOT]
Emin olmak adı özelliği Outlook Şerit'e eklediğiniz her denetim için ayarlanır.Çalışma zamanında Outlook Şeridine denetim eklerseniz, kodunuzda bu özelliği ayarlamanız gerekir.Tasarım zamanında Outlook Şeridine denetim eklerseniz Name özelliği otomatik olarak ayarlanır.
Şerit Denetim Olayları
Her denetim sınıfı bir veya daha fazla olay içerir.Aşağıdaki tabloda bu olaylar açıklanmaktadır.
Olay |
Tanımlama |
---|---|
Click |
Denetim tıklatıldığında gerçekleşir. |
TextChanged |
Düzen kutusunun veya birleşik giriş kutusunun metni değiştirildiğinde gerçekleşir. |
ItemsLoading |
Office tarafından denetimin Items koleksiyonu istendiğinde gerçekleşir.Kodunuz denetimin özelliklerini değiştirene kadar veya M:Microsoft.Office.Core.IRibbonUI.InvalidateControl(System.String) yöntemini çağırana kadar, Office [Items] koleksiyonunu önbelleğe alır. |
ButtonClick |
RibbonGallery veya RibbonDropDown'da düğme tıklatıldığında gerçekleşir. |
SelectionChanged |
RibbonDropDown veya RibbonGallery'de seçenek değiştiğinde gerçekleşir. |
DialogLauncherClick |
Grubun aşağı sağ köşesindeki iletişim başlatıcısı simgesi tıklatıldığında gerçekleşir. |
Bu olaylar için olay işleyicileri aşağıdaki iki parametreye sahiptir.
Parametre |
Tanımlama |
---|---|
sender |
Olayı tetikleyen denetimi temsil eden Object. |
e |
A RibbonControlEventArgs that contains a IRibbonControl.Office çalışma zamanı için Visual Studio Araçları tarafından sağlanan, Şerit nesne modelinde kullanılamaz olan herhangi bir özelliğe erişmek için bu denetimi kullanın. |
Ayrıca bkz.
Görevler
Nasıl Yapılır: Şerit Özelleştirmeye Başlama
İzlenecek Yol: Şerit Tasarımcısını Kullanarak Özel Sekme Oluşturma
İzlenecek Yol: Şerit Denetimlerini Çalışma Zamanında Güncelleme
Nasıl Yapılır: Yerleşik Bir Sekmeyi Özelleştirme
Nasıl Yapılır: Backstage Görünümüne Denetimler Ekleme
Nasıl Yapılır: Şerit Tasarımcısından Şerit XML'ine Dışarıya Şerit Aktarma
Nasıl Yapılır: Eklenti Kullanıcı Arayüzü Hatalarını Gösterme
Başvuru
Kavramlar
Çalışma Zamanında Şerite Erişme
Outlook İçin Şerit Özelleştirme