Aracılığıyla paylaş


Özel Görev Bölmeleri

Görev bölmeleri, Microsoft Office uygulamasında genellikle pencerenin bir tarafına yerleştirilmiş kullanıcı arayüzü panelleridir.Özel görev bölmeleri, kendi görev bölmenizi oluşturmak ve kendi çözümünüzün özelliklerine erişmek için kullanıcılara bilinen bir arayüz sağlamak amacıyla bir yol sağlar.Örneğin arayüz, belgeyi değiştirmek veya veri kaynağından veri görüntülemek amacıyla kod çalıştırmak için denetimler içerebilir.

Uygulama hedefi: Bu konudaki bilgiler, Outlook 2013 ve Outlook 2010 için uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.

[!NOT]

Özel görev bölmesi eylemler bölmesinden farklılık gösterir.Eylemler bölmesi, Microsoft Office Word ve Microsoft Office Excel için belge düzeyi özelleştirmelerinin bir parçasıdır.Daha fazla bilgi için bkz. Eylemler Bölmesine Genel Bakış.

Özel Görev Bölmelerinin Yararları

Özel görev bölmeleri, özelliklerinizi bilinen bir arayüzle tümleştirmenizi sağlar.Visual Studio araçlarını kullanarak hızlıca özel görev bölmesi oluşturabilirsiniz.

Bilinen Kullanıcı Arayüzü

Microsoft Office sistemindeki uygulamaların kullanıcılarına, görev bölmeleri zaten tanıdıktır, örn. Word'deki Stiller ve Biçimlendirme görev bölmesi.Özel görev bölmeleri, Microsoft Office sistemindeki diğer görev bölmeleri gibi davranır.Kullanıcılar özel görev bölmelerini uygulama penceresinin farklı taraflarına yerleştirebilirler veya bu bölmeleri pencerede herhangi bir konuma sürükleyebilirler.Çoklu özel görev bölmelerini aynı anda görüntüleyen bir eklenti oluşturabilirsiniz ve kullanıcılar her görev bölmesini ayrı ayrı denetleyebilir.

Windows Formu Desteği

Visual Studio'daki Office geliştirme araçlarını kullanarak oluşturduğunuz özel görev bölmesinin kullanıcı arayüzü, Windows Forms denetimlerine bağlıdır.Özel görev bölmesine kullanıcı arayüzü tasarlamak için, bilinen Windows Forms Tasarımcısını kullanabilirsiniz.Ayrıca görev bölmesindeki denetimlere veri kaynağı bağlamak için Windows Forms'taki veri bağlama desteğini kullanabilirsiniz.

Özel Görev Bölmesi Oluşturma

Basit özel görev bölmesini iki adımda oluşturabilirsiniz:

  1. UserControl nesnesine Windows Forms denetimleri ekleyerek, özel görev bölmenizde bir arayüz oluşturun.

  2. Kullanıcı denetimini eklentinizdeki CustomTaskPaneCollection nesnesine geçirerek özel görev bölmesini oluşturun.Bu koleksiyon, görev bölmesinin görüntüsünü değiştirmek ve kullanıcı olaylarına yanıt vermek için kullanabileceğiniz yeni bir CustomTaskPane nesnesini döndürür.

Daha fazla bilgi için bkz. Nasıl Yapılır: Uygulamaya Özel Görev Bölmesi Ekleme.

Kullanıcı Arayüzü Oluşturma

Visual Studio'daki Office geliştirme araçlarını kullanarak oluşturulan tüm özel görev bölmeleri, UserControl nesnesi içerir.Bu kullanıcı denetimi, özel görev bölmeniz için kullanıcı arayüzü sağlar.Kullanıcı denetimini tasarım veya çalışma zamanında oluşturabilirsiniz.Eğer kullanıcı denetimini tasarım zamanında oluşturursanız, Windows Forms Tasarımcısını görev bölmenizin kullanıcı arayüzünü yapılandırmak için kullanabilirsiniz.

Özel Görev Bölmesi Oluşturma

Özel görev bölmesinin kullanıcı arayüzünü içeren bir kullanıcı denetimi oluşturduktan sonra, CustomTaskPane oluşturmalısınız.Bunu yapmak için, Add yöntemlerinden birini çağırarak, eklentinizdeki CustomTaskPaneCollection'a kullanıcı denetimini geçirin.Bu koleksiyon, ThisAddIn sınıfının CustomTaskPanes alanı olarak oluşturulur.Aşağıdaki kod örneği, ThisAddIn sınıfından çalıştırılmak üzere tasarlanmıştır.

myUserControl1 = New MyUserControl
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "My Task Pane")
myCustomTaskPane.Visible = True
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

Add yöntemleri, yeni bir CustomTaskPane nesnesi döndürür.Görev bölmesinin görüntüsünü değiştirmek ve kullanıcı olaylarına yanıt vermek için bu nesneyi kullanabilirsiniz.

Çoklu Pencerelerde Görev Bölmesini Denetleme

Özel görev bölmeleri, belgenin veya bir öğenin görüntüsünü kullanıcıya sunan bir belge çerçeve penceresiyle ilişkilidir.Görev bölmesi, sadece ilgili pencere görünür olduğunda görünürdür.

Hangi pencerenin özel görev bölmesini görüntüleyeceğini belirlemek için, görev bölmesini oluşturduğunuzda uygun Add yöntem yüklemesini kullanın:

Bazı Office uygulamaları oluşturmak veya birden fazla pencere açık olduğunda görev bölmenizi ne zaman açık yönergeler gerektirir.Bu, görev bölmesinin uygulamadaki uygun belgelerler veya öğelerle göründüğüne emin olmak amacıyla, kodunuzdaki özel görev bölmesini nerede oluşturmanız gerektiğini göze almayı önemli kılar.Daha fazla bilgi için bkz: Özel görev bölmelerini yönetme uygulaması Windows.

Görev Bölmesinden Uygulamaya Erişme

Eğer uygulamayı kullanıcı denetiminden otomatikleştirmek istiyorsanız, kodunuzda Globals.ThisAddIn.Application'ı kullanarak nesne modeline doğrudan erişebilirsiniz.Statik Globals sınıfı, ThisAddIn nesnesine erişim sağlar.Bu nesnenin Application alanı, uygulamanın nesne modeline giriş noktasıdır.

ThisAddIn nesnesinin Application alanı hakkında daha fazla bilgi için, bkz. Uygulama Düzeyi Eklentileri Programlama.Özel görev bölmesinden bir uygulamanın nasıl otomatikleştirildiğini gösteren bir anlatım için, bkz. İzlenecek Yol: Uygulamayı Özel Görev Bölmesinden Otomatikleştirme.Globals sınıfı hakkında daha fazla bilgi için, bkz. Office Projelerindeki Nesnelere Genel Erişim.

Görev Bölmesinin Kullanıcı Ara Birimini Yönetme

Görev bölmesini oluşturduktan sonra, görev bölmesinin kullanıcı arayüzünü denetlemek ve kullanıcı görev bölmesini değiştirdiğinde yanıt vermek için CustomTaskPane nesnesinin özelliklerini ve olaylarını kullanabilirsiniz.

Özel Görev Bölmesini Görünür Yapma

Varsayılan olarak, görev bölmeleri görünmezdir.Görev bölmelerini görünür yapmak için, Visible özelliğini true olarak ayarlamalısınız.

Kullanıcılar, görev bölmesinin köşesindeki Kapat düğmesine (X) basarak herhangi bir zamanda görev bölmesini kapatabilirler.Fakat, kullanıcıların özel görev bölmesini yeniden açması için varsayılan bir yol yoktur.Eğer kullanıcı özel görev bölmesini kapatırsa, kullanıcı özel görev bölmesini, siz onu görüntülemek için bir yol sağlamadıkça yeniden göremez.

Eğer eklentinizde özel görev bölmesi oluşturursanız, UI öğesi de oluşturmalısınız, örn. kullanıcının özel görev bölmesini görüntüleyip sakmalası için tıklayabileceği bir düğme.Eğer Şerit'i özelleştirmeyi destekleyen Microsoft Office uygulamasında özel görev bölmesi oluşturursanız, özel görev bölmesini gösteren ve saklayan bir düğme ile Şerit'e denetim grubunu ekleyebilirsiniz.Bunun nasıl yapılacağını gösteren yol için bkz. İzlenecek Yol: Özel Görev Bölmesini Şerit Düğmesi ile Eşitleme.

Eğer Şerit'i özelleştirmeyi desteklemeyen Microsoft Office uygulamasında özel görev bölmesi oluşturursanız, özel görev bölmesini gösteren ve saklayan CommandBarButton ekleyebilirsiniz.

Görev Bölmesinin Görüntüsünü Değiştirme

CustomTaskPane nesnesinin özelliklerini kullanarak özel görev bölmesinin boyutunu ve konumunu denetleyebilirsiniz.Özel görev bölmesindeki UserControl nesnesinin özelliklerini kullanarak özel görev bölmesinin görüntüsünde diğer birçok değişikliği de yapabilirsiniz.Örneğin, kullanıcı denetiminin BackgroundImage özelliğini kullanarak özel görev bölmesi için arka plan resmi belirleyebilirsiniz.

Aşağıdaki tabloda, CustomTaskPane özelliklerini kullanarak özel görev bölmesinde yapabileceğiniz değişiklikler listelenmiştir.

Görev

Özellik

Görev bölmesinin boyutunu değiştirmek için

Height

Width

Görev bölmesinin konumunu değiştirmek için

DockPosition

Görev bölmesini saklamak veya görünür yapmak için

Visible

Kullanıcının görev bölmesinin konumunu değiştirmesini engellemek için

DockPositionRestrict

Özel Görev Bölmesi Olaylarını Programlama

Eklentinizin, kullanıcı özel görev bölmesini değiştirdiğinde ona yanıt vermesini isteyebilirsiniz.Örneğin, eğer kullanıcı bölmenin hizalamasını dikeyden yataya değiştirirse, denetimleri yeniden konumlandırmak isteyebilirsiniz.

Aşağıdaki tabloda, kullanıcının özel görev bölmesinde yaptığı değişiklikleri yanıtlamanız için işlediğiniz olaylar listelenmiştir.

Görev

Olay

Kullanıcı görev bölmesinin konumunu değiştirdiğinde ona yanıt vermek için

DockPositionChanged

Kullanıcı görev bölmesinin sakladığında veya görünür kıldığında ona yanıt vermek için

VisibleChanged

Görev Bölmesi Tarafından Kullanılan Kaynakları Temizleme

Özel görev bölmesi oluşturduktan sonra, CustomTaskPane nesnesi, eklentiniz çalıştığı sürece bellekte kalır.Nesne, kullanıcı görev bölmesinin köşesindeki Kapat düğmesini (X) tıkladıktan sonra bile bellekte kalır.

Eklenti çalışırken görev bölmesi tarafından kullanılan kaynakları temizlemek için, Remove veya RemoveAt yöntemlerini kullanın.Bu yöntemler belirli CustomTaskPane nesnesini, CustomTaskPanes koleksiyonundan kaldırır ve nesnenin Dispose yöntemini çağırır.

Eklenti kaldırıldığında, Office çalışma zamanı için Visual Studio Araçları özel görev bölmesinin kullandığı kaynakları otomatik olarak siler.Projenizde ThisAddIn_Shutdown olay işleyicisindeki Remove veya RemoveAt yöntemlerini çağırmayın.Bu yöntemler ObjectDisposedException oluşturur çünkü Office çalışma zamanı için Visual Studio Araçları, ThisAddIn_Shutdown çağrılmadan önce CustomTaskPane nesnesi tarafından kullanılan kaynakları temizler.Hakkında daha fazla bilgi için ThisAddIn_Shutdown, bkz.Office Projelerindeki Olaylar

Özel Görev Bölmelerini Birden Çok Uygulama Penceresinden Yönetme

Belgeleri ve diğer öğeleri görüntülemek için çoklu pencere kullanan bir uygulamada özel görev bölmesi oluşturduğunuzda, kullanıcının beklediği zamanlarda görev bölmesinin görünür olduğuna emin olmak için ek adımlar atmanıza ihtiyaç vardır.

Her uygulamadaki özel görev bölmeleri, belgenin veya bir öğenin görüntüsünü kullanıcıya sunan bir belge çerçeve penceresiyle ilişkilidir. Görev bölmesi, sadece ilgili pencere görünür olduğunda görünürdür.Fakat, tüm uygulamalar belge çerçeve pencelerini aynı yolla kullanmaz.

Aşağıdaki uygulama grupları farklı geliştirme gerekliliklerine sahiptir:

  • Outlook

  • PowerPoint Word ve InfoPath

video bağlantısı İlgili video gösterimi için bkz: nasıl yapmak ı: Yönetme görev bölmelerinde Word eklentileri?.

Outlook

Outlook için özel görev bölmesi oluşturduğunuzda, özel görev bölmesi belirli bir Explorer veya Inspector penceresiyle ilişkilendirilir.Explorer, bir klasörün içindekilerini gösteren penceredir ve Inspector, e-posta iletisi veya görev gibi bir öğeyi görüntüleyen penceredir.

Çoklu Explorer veya Inspector pencereleriyle birlikte özel görev bölmesini görüntülemek istiyorsanız, Explorer veya Inspector penceresi açıldığında özel görev bölmesinin yeni bir örneğini oluşturmalısınız.Bunu yapmak için, Explorer veya Inspector penceresi oluşturulduğunda oluşan olayı işleyin ve olay işleyicisinde görev bölmesini oluşturun.Explorer veya Inspector olaylarını, hangi pencerenin görünür olduğuna bağlı olarak saklamak veya görüntülemek için de işleyebilirsiniz.

Belirli Explorer veya Inspector ile görev bölmesini ilişkilendirmek amacıyla, görev bölmesi oluşturmak için CustomTaskPaneCollection.Add(UserControl, String, Object) yöntemini kullanın ve Explorer veya Inspector nesnesini window parametresine geçirin.Özel görev bölmelerini oluşturma hakkında daha fazla bilgi için, bkz. Özel Görev Bölmeleri.

Her açılan e-posta iletisi için görev bölmesinin nasıl oluşturulacağını gösteren bir yol için, bkz. İzlenecek Yol: Outlook'ta E-Posta İletileri ile Birlikte Özel Görev Bölmelerini Görüntüleme.

Outlook Olayları

Explorer penceresinin durumunu görüntülemek için, aşağıdaki Explorer'la alakalı olayları işleyebilirsiniz:

Inspector penceresinin durumunu görüntülemek için, aşağıdaki Inspector'la alakalı olayları işleyebilirsiniz:

Outlook'da Özel Görev Bölmesinin Çoklu Örneklerini Engelleme

Outlook pencerelerinin, özel görev bölmesinin çoklu örneklerini göstermesini engellemek için, özel görev bömesini ThisAddIn sınıfının CustomTaskPanes koleksiyonundan her pencere kapatıldığında açıkça kaldırın. Pencere kapatıldığında oluşan olayda Remove yöntemini çağırın, örn. ExplorerEvents_10_Event.Close veya InspectorEvents_10_Event.Close.

Eğer açıkça özel görev bölmesini kaldırmazsanız, Outlook penceresi özel görev bölmesinin çoklu örneklerini görüntüleyebilir.Outlook bazen pencereleri geri dönüştürür ve ger dönüşen pencereler, herhangi bir özel görev bölmesine iliştirilen başvuruları tutar.

PowerPoint Word ve InfoPath

PowerPoint Word ve InfoPath her belgeyi farklı bir belge çerçeve penceresinde görüntüleyin.Bu uygulamalar için özel görev bölmesi oluşturduğunuzda, özel görev bölmesi sadece belirli bir belgeyle ilişkilendirilir.Eğer kullanıcı farklı bir belge açarsa, özel görev bölmesi, önceki belge yeniden görünür olana kadar gizli kalır.

Çoklu belgelerle birlikte özel görev bölmesini görüntülemek istiyorsanız, kullanıcı yeni bir belge oluşturduğunda veya varolan bir belge açtığında özel görev bölmesinin yeni bir örneğini oluşturun.Bunu yapmak için, bir belge oluşturulduğunda veya açıldığında oluşan olayları işleyin ve olay işleyicilerinde görev bölmesini oluşturun.Belge olaylarını, hangi belgenin görünür olduğuna bağlı olarak saklamak veya görüntülemek için de işleyebilirsiniz.

Belirli belge penceresi ile görev bölmesini ilişkilendirmek için CustomTaskPaneCollection.Add(UserControl, String, Object) yöntemi görev bölmesi oluşturmak ve iletmek için bir Window (Word için), WindowObject (InfoPath için), veya DocumentWindow (PowerPoint için) için window parametresi.

Word Olayları

Word'de belge penceresinin durumunu görüntülemek için, aşağıdaki olayları işleyebilirsiniz:

InfoPath Olayları

InfoPath'de belge penceresinin durumunu görüntülemek için, aşağıdaki olayları işleyebilirsiniz:

Poweroint Olayları

PowerPoint'te belge penceresinin durumunu görüntülemek için aşağıdaki olayları işleyebilirsiniz:

Ayrıca bkz.

Görevler

Nasıl Yapılır: Uygulamaya Özel Görev Bölmesi Ekleme

İzlenecek Yol: Uygulamayı Özel Görev Bölmesinden Otomatikleştirme

İzlenecek Yol: Özel Görev Bölmesini Şerit Düğmesi ile Eşitleme

İzlenecek Yol: Outlook'ta E-Posta İletileri ile Birlikte Özel Görev Bölmelerini Görüntüleme