Eylemler bölmesine genel bakış

bir eylemler bölmesi, belirli bir Microsoft Office Word belgesine veya Microsoft Office Excel çalışma kitabına eklenen özelleştirilebilir bir belge eylemleri görev bölmesidir. eylemler bölmesi, Excel XML kaynağı görev bölmesi veya Word 'deki stiller ve biçimlendirme görev bölmesi gibi diğer yerleşik görev bölmeleriyle birlikte Office görev bölmesi içinde barındırılır. eylemler bölmesi kullanıcı arabirimini tasarlamak için Windows Forms denetimleri veya WPF denetimleri kullanabilirsiniz.

**** Uygulama alanı:- Bu konu başlığı altındaki bilgiler, Excel ve Word için belge düzeyindeki projelere yöneliktir. Daha fazla bilgi için bkz. Office uygulaması ve proje türü tarafından kullanılabilen özellikler.

Yalnızca Word veya Excel için belge düzeyi özelleştirmesindeki eylemler bölmesi oluşturabilirsiniz. bir VSTO eklentisi içinde eylemler bölmesi oluşturamazsınız. daha fazla bilgi için bkz. Office uygulama ve proje türü tarafından kullanılabilen özellikler.

Not

Eylemler bölmesi özel görev bölmeleriyle farklılık gösterir. Özel görev bölmeleri, belirli bir belge değil uygulamayla ilişkilendirilir. bazı Microsoft Office uygulamalar için VSTO eklentilerinde özel görev bölmeleri oluşturabilirsiniz. Daha fazla bilgi için bkz. özel görev bölmeleri.

Eylemler bölmesini görüntüleme

Eylemler bölmesi sınıfı tarafından temsil edilir ActionsPane . belge düzeyinde bir proje oluşturduğunuzda, bu sınıfın bir örneği kodunuzda ActionsPane ThisWorkbook (for Excel) veya ThisDocument (for Word) sınıfının alanı kullanılarak kullanılabilir. eylemler bölmesini göstermek için alanın özelliğine bir Windows Forms denetimi ekleyin Controls ActionsPane . Aşağıdaki kod örneği, eylemler bölmesine adlı bir denetim ekler actions .

this.ActionsPane.Controls.Add(actions);
Me.ActionsPane.Controls.Add(actions)

Eylemler bölmesi, açıkça bir denetim eklediğiniz anda çalışma zamanında görünür hale gelir. Eylemler bölmesi görüntülendikten sonra, kullanıcı eylemlerine yanıt olarak denetimleri dinamik olarak ekleyebilir veya kaldırabilirsiniz. Genellikle, ' ın olay işleyicisinde Eylemler bölmesini göstermek için kodu eklersiniz, Startup ThisDocument ThisWorkbook böylece Kullanıcı belgeyi ilk açtığında eylemler bölmesi görünür olur. Ancak, Eylemler bölmesini yalnızca bir kullanıcının belgedeki eylemine yanıt olarak göstermek isteyebilirsiniz. Örneğin, kodu Click belgedeki bir denetimin olayına ekleyebilirsiniz.

Eylemler bölmesine birden çok denetim ekleme

Eylemler bölmesine birden çok denetim eklediğinizde, denetimleri bir kullanıcı denetiminde gruplandırmalı ve ardından Kullanıcı denetimini bu Controls özelliğe eklemelisiniz. Bu işlem aşağıdaki adımları içerir:

  1. Projenize bir Eylemler bölmesi denetimi veya Kullanıcı denetim öğesi ekleyerek eylemler BÖLMESININ Kullanıcı arabirimini (UI) oluşturun. bu öğelerin her ikisi de özel bir Windows Forms UserControl sınıfı içerir. Eylemler bölmesi denetimi ve Kullanıcı denetimi öğeleri eşdeğerdir; Tek fark kendi adıdır.

  2. UserControltasarımcı kullanarak veya kod yazarak öğesine Windows Forms denetimleri ekleyin.

    Not

    ayrıca, Windows Forms bir wpf ekleyerek, eylemler bölmesine wpf denetimleri ekleyebilirsiniz UserControl UserControl . daha fazla bilgi için bkz. Office çözümlerinde WPF denetimlerini kullanma.

  3. ActionsPane ThisWorkbook projenizdeki (for Excel) veya ThisDocument (for Word) sınıfının alanında bulunan denetimlere özel kullanıcı denetimi örneği ekleyin.

    bu işlemi daha ayrıntılı olarak gösteren örnekler için bkz. nasıl yapılır: Word belgelerine veya Excel çalışma kitaplarına eylemler bölmesi ekleme.

Eylemler bölmesini gizle

ActionsPaneSınıfında bir Hide yöntemi ve bir özelliği olsa da Visible , bir sınıfın herhangi bir üyesini kullanarak Eylemler bölmesini kullanıcı arabiriminden kaldıramazsınız ActionsPane . Yöntemi çağırmak Hide veya Visible özelliği false olarak ayarlamak yalnızca eylemler bölmesindeki denetimleri gizler; görev bölmesini gizlemez.

Çözümünüzde görev bölmesini gizlemek için birkaç seçeneğiniz vardır:

  • Word için, Visible TaskPane belge eylemleri görev bölmesini temsil eden nesnenin özelliğini false olarak ayarlayın. Aşağıdaki kod örneği, projenizdeki sınıfından çalıştırılmak üzere tasarlanmıştır ThisDocument .

    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
    Me.Application.TaskPanes(Word.WdTaskPanes.wdTaskPaneDocumentActions).Visible = False
    
  • Excel için DisplayDocumentActionTaskPane Application nesnesinin özelliğini false olarak ayarlayın. Aşağıdaki kod örneği, projenizdeki sınıfından çalıştırılmak üzere tasarlanmıştır ThisWorkbook .

    this.Application.DisplayDocumentActionTaskPane = false;
    
    Me.Application.DisplayDocumentActionTaskPane = False
    
  • Word veya Excel için, Visible görev bölmesini temsil eden komut çubuğunun özelliğini yanlış olarak ayarlayabilirsiniz. Aşağıdaki kod örneği, ThisDocument projenizdeki veya sınıfından çalıştırılmak üzere tasarlanmıştır ThisWorkbook .

    this.Application.CommandBars["Task Pane"].Visible = false;
    
    Me.Application.CommandBars("Task Pane").Visible = False
    

Belge açıldığında Eylemler bölmesini temizle

Eylemler bölmesi görünür durumdayken bir Kullanıcı belgeyi kaydettiğinde, Eylemler bölmesi her açıldığında görünür ve eylemler bölmesi herhangi bir denetim içerip içermediğini belirtir. Ne zaman göründüğünü denetlemek isterseniz, ' Clear ActionsPane Startup ın olay işleyicisinde alanın yöntemini çağırın ThisDocument ve ThisWorkbook belge açıldığında eylemler bölmesinin görünür olmamasını sağlayın.

Eylemler bölmesinin ne zaman kapatıldığını belirleme

Eylemler bölmesi kapatıldığında harekete geçirilen bir olay yoktur. ActionsPaneSınıfında bir olay olsa da VisibleChanged , Son Kullanıcı Eylemler bölmesini kapattığında bu olay oluşturulmaz. Bunun yerine, bu olay, Eylemler bölmesindeki denetimler, Hide yöntemi çağırarak veya Visible özelliği false olarak ayarlanarak tetiklenir.

Kullanıcı Eylemler bölmesini kapattığında, uygulamanın kullanıcı arabiriminde (UI) aşağıdaki yordamlardan birini gerçekleştirerek Kullanıcı onu yeniden görüntüleyebilir.

Eylemler bölmesini Word veya Excel Kullanıcı arabirimini kullanarak görüntüleme
  1. Şeritte Görünüm sekmesine tıklayın.

  2. Göster/Gizle grubunda, belge eylemleri iki durumlu düğmesine tıklayın.

Program eylemleri bölmesi olayları

Eylemler bölmesine birden çok kullanıcı denetimi ekleyebilir ve ardından Kullanıcı denetimlerini göstererek ve gizleyerek belgedeki olaylara yanıt vermek için kod yazabilirsiniz. XML şema öğelerini belgenize eşlediğinizde, ekleme noktası XML öğelerinden birinin içinde olduğunda, Eylemler bölmesinde belirli kullanıcı denetimlerini gösterebilirsiniz. daha fazla bilgi için bkz. nasıl yapılır: şemaları Visual Studio içindeki Word belgeleriyle eşleştirme ve nasıl yapılır: şemaları Visual Studio içindeki çalışma sayfalarına eşleme.

Ayrıca, konak denetimi, uygulama veya belge olayları dahil olmak üzere herhangi bir nesnenin olaylarına yanıt vermek için kod yazabilirsiniz. Daha fazla bilgi için bkz. Walkthrough: bir NamedRange denetimindeki olaylara karşıprogramlama.

Eylemler bölmesindeki denetimlere veri bağlama

eylemler bölmesindeki denetimler Windows Forms denetimlerle aynı veri bağlama özelliklerine sahiptir. Denetimleri veri kümeleri, türü belirtilmiş veri kümeleri ve XML gibi veri kaynaklarına bağlayabilirsiniz. daha fazla bilgi için bkz. veri bağlama ve Windows Forms.

Eylemler bölmesi ve belgedeki denetimlerde denetimleri aynı veri kümesine bağlayabilirsiniz. Örneğin, Eylemler bölmesindeki denetimler ve çalışma sayfasındaki denetimler arasında bir ana/ayrıntı ilişkisi oluşturabilirsiniz. daha fazla bilgi için bkz. izlenecek yol: Excel eylemler bölmesindeki denetimlere veri bağlama.

Eylemler bölmesi denetimlerinde verileri doğrulama

ValidatingEylemler bölmesindeki bir denetimin olay işleyicisinde bir ileti kutusu görürseniz, odak denetimden ileti kutusuna taşınışında olay ikinci kez ortaya çıkabilir. Bu sorunu engellemek için ErrorProvider doğrulama hata iletilerini göstermek üzere bir denetim kullanın.

Kullanıcı Denetimi yığınlama sırası

Birden çok kullanıcı denetimi kullanıyorsanız, Eylemler bölmesindeki Kullanıcı Denetimlerini dikey veya yatay yerleştirilmiş olsun doğru bir şekilde yığmak için kod yazabilirsiniz. Özellik numaralandırmasını kullanarak, Eylemler bölmesindeki Kullanıcı denetimlerinin yığınlama sırasını ayarlayabilirsiniz StackStyle StackOrder . Daha fazla bilgi için bkz. nasıl yapılır: eylemler bölmelerinde denetim yerleşimini yönetme.

StackOrderÖzelliği aşağıdaki StackStyle numaralandırma değerlerini alabilir.

Yığınlama stili Tanım
FromBottom Eylemler bölmesinin alt kısmından oluşan yığın.
FromLeft Eylemler bölmesinin sol tarafındaki yığın.
FromRight Eylemler bölmesinin sağ tarafındaki yığın.
FromTop Eylemler bölmesinin en üstünden oluşan yığın.
Hiçbiri Yığın sıralaması tanımlı değil; sıra, geliştirici tarafından denetlenir.

Aşağıdaki kod, StackOrder Kullanıcı denetimlerini eylemler bölmesinin en üstünden yığmak için özelliğini ayarlar.

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop

Tutturucu denetimleri

Kullanıcı, çalışma zamanında eylemler bölmesini yeniden boyutlandırırsa, denetimler Eylemler bölmesi ile yeniden boyutlandırılabilir. Anchordenetimleri eylemler bölmesine bağlamak için bir Windows Forms denetiminin özelliğini kullanabilirsiniz. ayrıca, Windows Forms denetimlerini aynı şekilde kullanıcı denetimine de bağlayabilirsiniz. daha fazla bilgi için bkz. nasıl yapılır: Windows Forms denetimleri bağlama.

Eylemler bölmesini yeniden boyutlandır

ActionsPaneGörev bölmesinde gömülü olduğundan, bir öğesinin boyutunu doğrudan değiştiremezsiniz ActionsPane . Ancak Width görev bölmesini temsil eden öğesinin özelliğini ayarlayarak görev bölmesinin genişliğini programlı bir şekilde değiştirebilirsiniz CommandBar . Görev bölmesinin yüksekliğini yatay olarak yuvalanmışsa veya kaydırılabiliyorsa değiştirebilirsiniz.

Kullanıcı, ihtiyaçlarına en uygun görev bölmesi boyutunu seçebildiğinden, görev bölmesini programlı olarak yeniden boyutlandırma önerilmez. Ancak, görev bölmesinin genişliğini yeniden boyutlandırmanız gerekiyorsa, bu görevi gerçekleştirmek için aşağıdaki kodu kullanabilirsiniz.

this.CommandBars["Task Pane"].Width = 200;
Me.CommandBars("Task Pane").Width = 200

Eylemler bölmesini yeniden Konumlandır

Görev bölmesinde katıştırıldığından, doğrudan yeniden konumlandırılamaz ActionsPane . Bununla birlikte, görev bölmesini Position temsil eden öğesinin özelliğini ayarlayarak görev bölmesini programlı bir şekilde taşıyabilirsiniz CommandBar .

Kullanıcının kendi ihtiyaçlarına en uygun ekranda görev bölmesi konumunu seçebilmesi gerektiğinden, görev bölmesini programlı bir şekilde yeniden konumlandırma önerilmez. Ancak, görev bölmesini belirli bir konuma taşımanız gerekiyorsa, bu görevi gerçekleştirmek için aşağıdaki kodu kullanabilirsiniz.

this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft

Not

Son kullanıcılar, görev bölmesini dilediğiniz zaman el ile yeniden konumlandırabilirler. Görev bölmesinin programlama yoluyla gösterdiğiniz konuma yerleştirilmiş olarak kalmasını sağlamanın bir yolu yoktur. Ancak, yönlendirme değişikliklerini denetleyebilir ve Eylemler bölmesindeki denetimlerin doğru yönde yığıltığınızdan emin olabilirsiniz. Daha fazla bilgi için bkz. nasıl yapılır: eylemler bölmelerinde denetim yerleşimini yönetme.

TopNesnesinin ve özelliklerinin ayarlanması, Left ActionsPane ActionsPane nesne görev bölmesine katıştırıldığından konumunu değiştirmez.

Görev bölmesi yerleştirilmemişse, Top Left CommandBar görev bölmesini temsil eden öğesinin ve özelliklerini ayarlayabilirsiniz. Aşağıdaki kod, yerleştirilmemiş bir görev bölmesini belgenin sol üst köşesine kaydırır.

if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}
If Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating Then

    Me.CommandBars("Task Pane").Top = 0
    Me.CommandBars("Task Pane").Left = 0

End If

Ayrıca bkz.