Eylemler Bölmesine Genel Bakış
Eylemler bölmesi, belirli bir Microsoft Office Word belgesine veya Microsoft Office Excel çalışma sayfasına iliştirilmiş, özelleştirebilir bir Belge Eylemleri görev bölmesidir.Excel'deki XML Kaynakları 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ölmesine yerleştirilimiştir.Eylemler bölmesi kullanıcı arabirimini tasarlamak için Windows Forms veya WPF denetimlerini kullanabilirsiniz.
Uygulama hedefi: Bu konudaki bilgiler, şu uygulamalar için belge düzeyi projelere yöneliktir. Excel 2013 ve Excel 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.
Word veya Excel için eylemler bölmesini sadece belge düzeyi özelleştirmesinde oluşturabilirsiniz. Uygulama düzeyi eklentisinde eylemler bölmesi oluşturamazsınız.Daha fazla bilgi için bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
[!NOT]
Eylemler bölmesi özel görev bölmesinden farklılık gösterir.Özel görev bölmeleri özel bir belgeyle değil uygulamayla ilişkilidir.Bazı Microsoft Office uygulamaları için uygulama düzeyin eklentilerinde özel görev bölmeleri oluşturabilirsiniz.Daha fazla bilgi için bkz. Özel Görev Bölmeleri.
İlgili video gösterimi için bkz: nasıl yapmak ı: kullan wpf denetimleri içine bir Excel Eylemler bölmesindeki?.
Eylemler Bölmesini Görüntüleme
Eylemler bölmesi ActionsPane sınıfı tarafından temsil edilir.Bir belge düzeyi projesi oluşturduğunuzda bu sınıfın bir olgusu kodunuzda ThisWorkbook (Excel için) veya ThisDocument (Word için) sınıfının ActionsPane alanını aracılığıyla kullanılabilirdir.Eylemler bölmesini görüntülemek için ActionsPane alanının Controls özelliğine bir Windows Forms denetimi ekleyin.Aşağıdaki kod örneğinde eylemler bölmesine actions adında bir denetim eklenir.
Me.ActionsPane.Controls.Add(actions)
this.ActionsPane.Controls.Add(actions);
Denetimi eylemler bölmesine açık olarak eklenir eklenmez çalışma zamanında eylemler bölmesi görünür hale gelir.Eylemler bölmesi görüntülendikten sonra kullanıcı eylemlerine cevap olarak dinamik bir şekilde denetim ekleyebilir veya kaldırabilirsiniz.Genellikle, eylemler bölmesini görüntülemek üzere kod ThisDocument veya ThisWorkbook sınıfının Startup olay işleyisine eklenir ki eylemler bölmesi kullanıcı belgeyi ilk kez açtığında görünür olsun.Ancak, belgede eylemler bölmesini sadece kullanıcı eylemine bir cevap olarak da görüntülemek isteyebilirsiniz.Örneğin, kodu belgede bir denetimin Click olayına ekleyebilirsiniz.
Eylemler Bölmesine Birden Çok Denetim Ekleme
Eğer eylemler bölmesine birden çok denetim ekliyorsanız çoğu durumda denetimleri bir kullanıcı denetiminde gruplayıp kullanıcı denetimini Controls özelliğine eklemelisiniz.Bu işlem şu adımları içerir:
Projenize Eylemler Bölmesi Denetimi veya Kullanıcı Denetimi öğesini ekleyerek eylemler bölmesinin kullanıcı arabirimini (UI) oluşturun.Bu öğelerin ikisi de özel bir Windows Forms UserControl sınıfı içerir.Eylemler Bölmesi Denetimi ve Kullanıcı Denetimi öğeleri birbirine eş olup aralarındaki tek fark isimleridir.
UserControl öğesine tasarımcıyı kullanarak veya kod ile bir Windows Forms denetimi ekleyin.
[!NOT]
Ayrıca, eylemler bölmesine, Windows Forms UserControl öğesine WPF UserControl ekleyerek bir WPF denetimi de ekleyebilirsiniz.Daha fazla bilgi için bkz. Office Çözümlerinde WPF Denetimlerini Kullanma.
Projenizde ThisWorkbook (Excel için) veya ThisDocument (Word için) sınıfının ActionsPane alanında bulunan denetimlere bir özel kullanıcı denetimi olgusu ekleyin.
Bu süreci daha ayrıntılı 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 Gizleme
Her ne kadar ActionsPane sınıfının bir Hide yöntemi ve bir Visible özelliği olsa da, eylemler bölmesini kullanıcı arabiliriminden herhangi bir ActionsPane sınıfının kendisini kullanarak kaldıramazsınız.Hide yöntemi çağırma veya Visible özelliğini false olarak ayarlama yalnızca eylemler bölmesindeki denetimleri saklar, görev bölmesini gizlemez.
Çözümünüzde görev bölmesini gizlemek için birkaç seçeneğiniz vardır:
Word'de, belge Eylemleri görev bölmesini temsil eden TaskPane nesnesinin Visible özelliğine false değerini verin.Aşağıdaki kod örneği projenizdeki ThisDocument sınıfında çalışmak üzere tasarlanmıştır.
Me.Application.TaskPanes(Word.WdTaskPanes.wdTaskPaneDocumentActions).Visible = False
this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
Excel'de Application nesnesinin DisplayDocumentActionTaskPane özelliğine false değerini verin.Aşağıdaki kod örneği projenizdeki ThisWorkbook sınıfında çalışmak üzere tasarlanmıştır.
Me.Application.DisplayDocumentActionTaskPane = False
this.Application.DisplayDocumentActionTaskPane = false;
Ya da, Word veya Excel'de, görev bölmesini temsil eden komut çubuğunun CommandBar.Visible özelliğine false değerini verebilirsiniz.Aşağıdaki kod örneği projenizdeki ThisDocument veya ThisWorkbook sınıfında çalışmak üzere tasarlanmıştır.
Me.Application.CommandBars("Task Pane").Visible = False
this.Application.CommandBars["Task Pane"].Visible = false;
Belge Açıldığında Eylemler Bölmesini Temizleme
Kullanıcı eylemler bölmesi görünürken belgeyi kaydettiğinde, eylemler bölmesi denetim içersin ya da içermesin belge her açıldığında görünürdür.Eylemler bölmesinin ne zaman görüneceğini denetlemek istiyorsanız, belge açıldığında görünür olmamasını sağlamak için ThisDocument veya ThisWorkbook sınıfının Startup olay işleyicisinde ActionsPane alanının Clear yöntemini çağırın.
Eylemler Bölmesinin Ne Zaman Kapandığına Karar Verme
Eylemler bölmesi kapandığı zaman çıkarılan bir olay yoktur.ActionsPane sınıfının bir VisibleChanged olayı olsa da bu olay son kullanıcı eylemler bölmesini kapattığında çıkarılmaz.Bunun yerine, eylemler bölmesindeki denetimler Hide yöntemi çağrılarak veya Visible özelliğine false değeri verilerek gizlendiğinde bu olay çıkarılır.
Son kullanıcı eylemler bölmesini kapatırsa, uygulamanın kullanıcı arabiriminde (UI) şu yollardan birini takip ederek eylemler bölmesini tekrar görüntüleyebilir.
Eylemler bölmesini Word veya Excel'in kullanıcı arabirimini kullanarak görüntülemek için
Şeritteki Görünüm sekmesine tıklatın.
Göster/Gizle grubunda Belge Eylemleri iki durumlu düğmesine tıklayın.
Eylemler Bölmesi Olaylarını Programlama
Eylemler bölmesine birden çok kullanıcı denetimi ekleyebilir ve ardından belgedeki olaylara kullanıcı denetimlerini göstererek ve gizleyerek cevap vermek üzere kod yazabilirsiniz.Belgenize XML şema öğelerini eşlerseniz eylemler bölmesindeki belirli kullanıcı denetimlerini ekleme noktasının XML öğelerinden birinin içinde olduğu durumlarda gösterebilirsiniz.Daha fazla bilgi için, bkz. Nasıl Yapılır: Şemaları Visual Studio İçindeki Word Belgeleriyle Eşleştirme ve Nasıl Yapılır: Şemaları Visual Studio İçindeki Çalışma Sayfalarıyla Eşleştirme.
Konak kontrolleri, uygulama veya belge olayları da dahil olmak üzere herhangi bir nesnenin olaylarına cevap vermek üzere kod da yazabilirsiniz.Daha fazla bilgi için bkz. İzlenecek Yol: NamedRange Denetimi Olaylarına Karşı Programlama.
Eylemler Bölmesindeki Denetimlere Veri Bağlama
Eylemler bölmesi üzerindeki denetimleri Windows Forms denetimleriyle aynı veri bağlama yeteneklerine sahiptir.Denetimleri veri kümeleri, türü belirtilmiş veri kümeleri, XML gibi veri kaynaklarına bağlayabilirsiniz.Daha fazla bilgi için bkz. Veri Bağlama ve Windows Forms.
Eylemler bölmesi üzerindeki denetimleri ve belge üzerindeki denetimleri aynı veri kümesine bağlayabilirsiniz.Örneğin, eylemler bölmesi üzerindeki ve çalışma sayfası üzerindeki denetimler arasında bir master/detail (ana/ayrıntı) ilişkisi oluşturabilirsiniz.Daha fazla bilgi için bkz. İzlenecek Yol: Excel Eylemler Bölmesindeki Denetimlere Veri Bağlama.
Eylemler Bölmesi Denetimlerinde Veri Doğrulama
Eylemler bölmesindeki bir denetimin Validating olay işleyicisinde bir ileti kutusu görüntülerseniz, odak denetimden ileti kutusuna geçtiği zaman olay ikinci bir kez çıkarılabilir.Bu sorunu önlemek için herhangi bir doğrulama hata iletisi görüntülemek üzere bir ErrorProvider denetimi kullanın.
Kullanıcı Denetimi Yığma Sırası
Eğer birden çok kullanıcı denetimi kullanıyorsanız, eylemler bölmesi dikey ya da yatay yerleştirilmiş olsun bu bölmede kullanıcı denetimlerini düzgünce yığmak için kod yazabilirsiniz.Eylemler bölmesinde kullanıcı denetimlerini yığma sırasını StackOrder özelliğinin StackStyle sabit listesini kullanarak ayarlayabilirsiniz.Daha fazla bilgi için, Nasıl Yapılır: Eylemler Bölmesindeki Denetim Düzenini Yönetme
StackOrder özelliği aşağıdaki StackStyle sabit değerlerini alabilir.
Yığma biçimi |
Tanım |
---|---|
FromBottom |
Yığmaya eylemler bölmesinin altından başlanır. |
FromLeft |
Yığmaya eylemler bölmesinin sol tarafından başlanır. |
FromRight |
Yığmaya eylemler bölmesinin sağ tarafından başlanır. |
FromTop |
Yığmaya eylemler bölmesinin üst tarafından başlanır. |
None |
Yığma sırası tanımlanmaz; sıra, geliştirici tarafından kontrol edilir. |
Aşağıdaki kod, kullanıcı denetimlerini eylemler bölmesinin üstünden başlayarak yığmak için StackOrder özelliğini ayarlar.
Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop
this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
Denetimleri Sabitleme
Eğer kullanıcı eylemler bölmesini çalışma anında yeniden boyutlandırırsa, denetimler eylemler bölmesiyle birlikte ona uyacak şekilde yeniden boyutlanabilir.Eylemler bölmesine denetimleri bağlamak için Windows Forms denetimlerinin Anchor özelliğini kullanabilirsiniz.Windows form denetimlerini kullanıcı denetimlerine aynı şekilde sabitleyebilirsiniz.Daha fazla bilgi için bkz. Nasıl yapılır: Windows Formlarında Denetimleri Sabitleme.
Eylemler Bölmesini Yeniden Boyutlandırma
Bir ActionsPane öğesinin boyutunu doğrudan değiştiremezsiniz çünkü ActionsPane görev bölmesinin içine gömülüdür.Ancak, görev bölmesinin genişliğini görev bölmesini temsil eden CommandBar öğesinin Width özelliğini ayarlayarak program aracılığıyla değiştirebilirsiniz.Görev bölmesinin yüksekliğini, görev bölmesi yatay yuvalanmışsa veya hiç yuvalanmamışsa değiştirebilirsiniz.
Görev bölmesini program aracılığıyla yeniden boyutlandırma genel olarak tavsiye edilmez çünkü kullanıcı görev bölmesinin boyutunu kendi ihtiyaçlarına göre seçebilmelidir.Ancak, görev bölmesinin genişliğini yeniden boyutlamanız gerekiyorsa bu görevi başarmak için aşağıdaki kodu kullanabilirsiniz.
Me.CommandBars("Task Pane").Width = 200
this.CommandBars["Task Pane"].Width = 200;
Eylemler Bölmesini Yeniden Konumlandırma
Bir ActionsPane öğesini doğrudan yeniden konumladıramazsınız çünkü görev bölmesinin içine gömülüdür.Ancak, görev bölmesini, görev bölmesini temsil eden CommandBar öğesinin Position özelliğini ayarlayarak program aracılığıyla taşıyabilirsiniz.
Görev bölmesini program aracılığıyla yeniden konumlandırma genel olarak tavsiye edilmez çünkü kullanıcı görev bölmesinin ekrandaki konumunu kendi ihtiyaçlarına göre seçebilmelidir.Ancak, görev bölmesini belirli bir konuma taşımanız gerekiyorsa bu görevi başarmak için aşağıdaki kodu kullanabilirsiniz.
Me.CommandBars("Task Pane").Position = _
Microsoft.Office.Core.MsoBarPosition.msoBarLeft
this.CommandBars["Task Pane"].Position =
Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
[!NOT]
Son kullanıcılar görev bölmesini el ile herhangi bir zaman yeniden konumlandırabilirler.Görev bölmesinin programla belirttiğiniz konumda yerleşik kalacağından emin olmanın herhangi bir yolu yoktur.Ancak, hizalamadaki değişikleri denetleyip eylemler bölmesinde denetimlerin doğru yöne yığılmasını sağlayabilirsiniz.Daha fazla bilgi için bkz. Nasıl Yapılır: Eylemler Bölmesindeki Denetim Düzenini Yönetme.
ActionsPane nesnesinin Top ve Left özelliklerini ayarlama onun konumu değiştirmez çünkü ActionsPane nesnesi görev bölmesinin içine gömülüdür.
Görev bölmesi yuvalanmış değilse, görev bölmesini temsil eden CommandBar öğesinin Top ve Left özelliklerini ayarlayabilirsiniz.Aşağıdaki kodda, yuvalanmamış bir görev bölmesi belgenin sol üst köşesine taşınır.
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
if (this.CommandBars["Task Pane"].Position ==
Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
this.CommandBars["Task Pane"].Top = 0;
this.CommandBars["Task Pane"].Left = 0;
}
Ayrıca bkz.
Görevler
Nasıl Yapılır: Word Belgelerine veya Excel Çalışma Kitaplarına Eylemler Bölmesi Ekleme
İzlenecek Yol: Eylemler Bölmesinden Belgeye Metin Ekleme
İzlenecek Yol: Word Eylemler Bölmesindeki Denetimlere Veri Bağlama
İzlenecek Yol: Excel Eylemler Bölmesindeki Denetimlere Veri Bağlama
Nasıl Yapılır: Eylemler Bölmesindeki Denetim Düzenini Yönetme
İzlenecek Yol: Eylemler Bölmesinden Belgeye Metin Ekleme
Kavramlar
Office Çözümlerinde WPF Denetimlerini Kullanma
Office Projelerindeki Nesnelere Genel Erişim