Özel görev bölmeleri

Görev bölmeleri, genellikle Bir Microsoft Office uygulaması lication'da pencerenin bir tarafına yerleştirilmiş kullanıcı arabirimi panelleridir. Özel görev bölmeleri size kendi görev bölmenizi oluşturmanın bir yolunu sunar ve kullanıcılara çözümünüzün özelliklerine erişmek için tanıdık bir arabirim sağlar. Örneğin, arabirim, belgeleri değiştirmek veya bir veri kaynağındaki verileri görüntülemek için kod çalıştıran denetimler içerebilir.

Şunlar için geçerlidir: Bu konudaki bilgiler Outlook için VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Not

Özel görev bölmesi eylemler bölmesinden farklıdır. 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 avantajları

Özel görev bölmeleri, özelliklerinizi tanıdık bir kullanıcı arabirimiyle tümleştirmenize olanak tanır. Visual Studio araçlarını kullanarak hızlı bir şekilde özel görev bölmesi oluşturabilirsiniz.

Tanıdık kullanıcı arabirimi

Microsoft Office sistemindeki uygulama kullanıcıları Word'de Stiller ve Biçimlendirme görev bölmesi gibi görev bölmelerini kullanmayı zaten biliyor. Ö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ı kenarlarına yerleştirebilir veya özel görev bölmelerini penceredeki herhangi bir konuma sürükleyebilirsiniz. Aynı anda birden çok özel görev bölmesi görüntüleyen bir VSTO Eklentisi oluşturabilirsiniz ve kullanıcılar her görev bölmesini tek tek denetleyebilir.

Windows forms desteği

Visual Studio'da Office geliştirme araçlarını kullanarak oluşturduğunuz özel görev bölmesinin kullanıcı arabirimi Windows Forms denetimlerini temel alır. Özel görev bölmesi için kullanıcı arabirimi tasarlamak için tanıdık Windows Forms Tasarım Aracı kullanabilirsiniz. Bir veri kaynağını görev bölmesindeki denetimlere bağlamak için Windows Forms'daki veri bağlama desteğini de kullanabilirsiniz.

Özel görev bölmesi oluşturma

İki adımda temel bir özel görev bölmesi oluşturabilirsiniz:

  1. Nesneye Windows Forms denetimleri ekleyerek özel görev bölmeniz için bir UserControl kullanıcı arabirimi oluşturun.

  2. Kullanıcı denetimini VSTO Eklentinizdeki nesneye CustomTaskPaneCollection geçirerek özel görev bölmesinin örneğini oluşturun. Bu koleksiyon, görev bölmesinin görünümünü değiştirmek ve kullanıcı olaylarına yanıt vermek için kullanabileceğiniz yeni CustomTaskPane bir nesne döndürür.

    Daha fazla bilgi için bkz . Nasıl yapılır: Uygulamaya özel görev bölmesi ekleme.

Kullanıcı arabirimini oluşturma

Visual Studio'da Office geliştirme araçları kullanılarak oluşturulan tüm özel görev bölmeleri bir UserControl nesne içerir. Bu kullanıcı denetimi, özel görev bölmenizin kullanıcı arabirimini sağlar. Kullanıcı denetimini tasarım zamanında veya çalışma zamanında oluşturabilirsiniz. Kullanıcı denetimini tasarım zamanında oluşturursanız, görev bölmenizin kullanıcı arabirimini oluşturmak için Windows Forms Tasarım Aracı kullanabilirsiniz.

Özel görev bölmesinin örneğini oluşturma

Özel görev bölmesinin kullanıcı arabirimini içeren bir kullanıcı denetimi oluşturduktan sonra bir örneği CustomTaskPaneoluşturmanız gerekir. Bunu yapmak için yöntemlerden birini Add çağırarak VSTO Eklentinizde kullanıcı denetimini CustomTaskPaneCollection öğesine geçirin. Bu koleksiyon sınıfın CustomTaskPanes alanı ThisAddIn olarak kullanıma sunulur. Aşağıdaki kod örneğinin sınıfından ThisAddIn çalıştırılması amaçlanmıştır.

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

Add Yöntemler yeni CustomTaskPane bir nesne döndürür. Görev bölmesinin görünümünü değiştirmek ve kullanıcı olaylarına yanıt vermek için bu nesneyi kullanabilirsiniz.

Birden çok penceredeki görev bölmesini denetleme

Özel görev bölmeleri, kullanıcıya belgenin veya öğenin görünümünü sunan bir belge çerçevesi penceresiyle ilişkilendirilir. Görev bölmesi yalnızca ilişkili pencere görünür olduğunda görünür.

Özel görev bölmesinin hangi pencerede görüntüleneceğini belirlemek için, görev bölmesini oluştururken uygun Add yöntem aşırı yüklemesini kullanın:

  • Görev bölmesini etkin pencereyle ilişkilendirmek Add için yöntemini kullanın.

  • Görev bölmesini belirtilen bir pencere tarafından barındırılan bir belgeyle ilişkilendirmek Add için yöntemini kullanın.

    Bazı Office uygulaması'ler, birden fazla pencere açık olduğunda görev bölmenizi ne zaman oluşturacağınız veya görüntüleneceğini açıklayan açık yönergeler gerektirir. Bu, görev bölmesinin uygulamadaki uygun belgeler veya öğelerle birlikte göründüğünden emin olmak için kodunuzda özel görev bölmesinin nerede başlatıldığını göz önünde bulundurmayı önemli hale getirir. Daha fazla bilgi için bkz . Uygulama pencerelerinde özel görev bölmelerini yönetme.

Uygulamaya Görev Bölmesi'nden erişme

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

Nesnenin Application alanı ThisAddIn hakkında daha fazla bilgi için bkz . Program VSTO Eklentileri. Bir uygulamanın özel görev bölmesinden nasıl otomatikleştirildiğini gösteren bir izlenecek yol için bkz . İzlenecek yol: Özel görev bölmesinden uygulamayı otomatikleştirme. Sınıfı hakkında Globals daha fazla bilgi için bkz . Office projelerindeki nesnelere genel erişim.

Görev Bölmesi'nin kullanıcı arabirimini yönetme

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

Özel Görev Bölmesi'ni görünür hale getirme

Varsayılan olarak, görev bölmesi görünmez. Görev bölmesini görünür hale getirmek için özelliğini true olarak ayarlamanız Visible gerekir.

Kullanıcılar, görev bölmesinin köşesindeki Kapat düğmesine (X) tıklayarak istedikleri zaman görev bölmesini kapatabilir. Ancak, kullanıcıların özel görev bölmesini yeniden açması için varsayılan bir yol yoktur. Bir kullanıcı özel görev bölmesini kapatırsa, siz görüntülemenin bir yolunu sağlamadığınız sürece bu kullanıcı özel görev bölmesini yeniden görüntüleyemez.

VSTO Eklentinizde özel görev bölmesi oluşturursanız, kullanıcıların özel görev bölmenizi görüntülemek veya gizlemek için tıklayabileceği bir düğme gibi bir kullanıcı arabirimi öğesi de oluşturmanız gerekir. Microsoft Office uygulaması'nda Şeridi özelleştirmeyi destekleyen bir özel görev bölmesi oluşturursanız, Şerit'e özel görev bölmenizi görüntüleyen veya gizleyen bir düğme içeren bir denetim grubu ekleyebilirsiniz. Bunun nasıl yapıldığını gösteren bir izlenecek yol için bkz . İzlenecek yol: Şerit düğmesiyle özel görev bölmesini eşitleme.

Microsoft Office uygulaması'nde Şeridi özelleştirmeyi desteklemeyen bir özel görev bölmesi oluşturursanız, özel görev bölmenizi görüntüleyen veya gizleyen bir CommandBarButton görev ekleyebilirsiniz.

Görev bölmesinin görünümünü değiştirme

Nesnenin özelliklerini CustomTaskPane kullanarak özel görev bölmesinin boyutunu ve konumunu denetleyebilirsiniz. Özel görev bölmesinde bulunan nesnenin UserControl özelliklerini kullanarak özel görev bölmesinin görünümünde başka birçok değişiklik yapabilirsiniz. Örneğin, kullanıcı denetiminin özelliğini kullanarak BackgroundImage özel görev bölmesi için bir arka plan görüntüsü belirtebilirsiniz.

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

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 gizlemek veya görünür hale getirmek için Visible
Kullanıcının görev bölmesinin konumunu değiştirmesini önlemek için DockPositionRestrict

Program özel görev bölmesi olayları

Kullanıcı özel görev bölmesini değiştirdiğinde VSTO Eklentinizin yanıt vermesini isteyebilirsiniz. Örneğin, kullanıcı bölmenin yönü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şikliklere yanıt vermek için işleyebileceğiniz olaylar listelenir.

Görev Etkinlik
Kullanıcı görev bölmesinin konumunu değiştirdiğinde yanıtlamak için. DockPositionChanged
Kullanıcı görev bölmesini gizlediğinde veya görünür hale getirdiğinde 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 VSTO Eklentiniz çalıştığı sürece nesne bellekte kalır. Kullanıcı görev bölmesinin köşesindeki Kapat düğmesine (X) tıkladıktan sonra bile nesne bellekte kalır.

VSTO Eklentisi çalışmaya devam ederken görev bölmesi tarafından kullanılan kaynakları temizlemek için veya RemoveAt yöntemlerini kullanınRemove. Bu yöntemler belirtilen CustomTaskPane nesneyi koleksiyondan CustomTaskPanes kaldırır ve nesnesinin Dispose yöntemini çağırır.

Office çalışma zamanı için Visual Studio Araçları, VSTO Eklentisi kaldırıldığında özel görev bölmesi tarafından kullanılan kaynakları otomatik olarak temizler. Projenizdeki olay işleyicisinde ThisAddIn_Shutdown veya RemoveAt yöntemlerini çağırmayınRemove. Office çalışma zamanı Visual Studio Araçları nesnesi tarafından CustomTaskPane daha önce ThisAddIn_Shutdown kullanılan kaynakları temizlediğinden, bu yöntemler bir ObjectDisposedExceptionoluşturur. hakkında ThisAddIn_Shutdowndaha fazla bilgi için bkz . Office projelerindeki olaylar.

Birden çok uygulama penceresinde özel görev bölmelerini yönetme

Belge ve diğer öğeleri görüntülemek için birden çok pencere kullanan bir uygulamada özel görev bölmesi oluşturduğunuzda, kullanıcı bunu beklediğinde görev bölmesinin görünür olduğundan emin olmak için ek adımlar uygulamanız gerekir.

Tüm uygulamalarda özel görev bölmeleri, kullanıcıya belgenin veya öğenin görünümünü sunan bir belge çerçevesi penceresiyle ilişkilendirilir. Görev bölmesi yalnızca ilişkili pencere görünür olduğunda görünür. Ancak, tüm uygulamalar belge çerçevesi pencerelerini aynı şekilde kullanmaz.

Aşağıdaki uygulama gruplarının farklı geliştirme gereksinimleri vardır:

Outlook

Outlook için özel görev bölmesi oluşturduğunuzda, özel görev bölmesi belirli bir Gezgin veya Denetçi penceresiyle ilişkilendirilir. Explorer'lar bir klasörün içeriğini görüntüleyen pencerelerdir ve Denetçiler ise e-posta iletisi veya görev gibi bir öğeyi görüntüleyen pencerelerdir.

Birden çok Gezgin veya Denetçi penceresi içeren bir özel görev bölmesi görüntülemek istiyorsanız, bir Gezgin veya Denetçi penceresi açıldığında özel görev bölmesinin yeni bir örneğini oluşturmanız gerekir. Bunu yapmak için, Gezgin veya Denetçi penceresi oluşturulduğunda oluşturulan bir olayı işleyin ve ardından olay işleyicisinde görev bölmesini oluşturun. Ayrıca, hangi pencerenin görünür olduğuna bağlı olarak görev bölmelerini gizlemek veya görüntülemek için Gezgin ve Denetçi olaylarını da işleyebilirsiniz.

Görev bölmesini belirli bir Gezgin veya Denetçi ile ilişkilendirmek için yöntemini kullanarak Add görev bölmesini oluşturun ve veya Inspector nesnesini pencere parametresine geçirinExplorer. Özel görev bölmeleri oluşturma hakkında daha fazla bilgi için bkz . Özel görev bölmelerine genel bakış.

Outlook'ta özel görev bölmesinin birden çok örneğini engelleme

Outlook pencerelerinin özel görev bölmesinin birden çok örneğini görüntülemesini önlemek için, her pencere kapatıldığında özel görev bölmesini sınıfın ThisAddIn koleksiyonundan CustomTaskPanes açıkça kaldırın. Remove veya Closegibi Close bir pencere kapatıldığında tetiklenen bir olayda yöntemini çağırın.

Özel görev bölmesini açıkça kaldırmazsanız, Outlook pencereleri özel görev bölmesinin birden çok örneğini görüntüleyebilir. Outlook bazen pencereleri geri dönüştürür ve geri dönüştürülen pencereler, bunlara eklenmiş olan özel görev bölmelerine yönelik başvuruları korur.

Word, InfoPath ve PowerPoint

Word, InfoPath ve PowerPoint her belgeyi farklı bir belge çerçevesi penceresinde görüntüler. Bu uygulamalar için özel görev bölmesi oluşturduğunuzda, özel görev bölmesi yalnızca belirli bir belgeyle ilişkilendirilir. Kullanıcı farklı bir belge açarsa, önceki belge yeniden görünene kadar özel görev bölmesi gizlenir.

Birden çok belge içeren bir özel görev bölmesi görüntülemek istiyorsanız, kullanıcı yeni bir belge oluşturduğunda veya var olan bir belgeyi 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 ardından olay işleyicilerinde görev bölmesini oluşturun. Ayrıca, hangi belgenin görünür olduğuna bağlı olarak görev bölmelerini gizlemek veya görüntülemek için belge olaylarını işleyebilirsiniz.

Görev bölmesini belirli bir belge penceresiyle ilişkilendirmek için yöntemini kullanarak Add görev bölmesini oluşturun ve pencere parametresine bir Window (Word için), WindowObject (InfoPath için) veya DocumentWindow (PowerPoint için) geçirin.

Word olayları

Word'de belge pencerelerinin durumunu izlemek için aşağıdaki olayları işleyebilirsiniz:

InfoPath olayları

InfoPath'te belge pencerelerinin durumunu izlemek için aşağıdaki olayları işleyebilirsiniz:

PowerPoint olayları

PowerPoint'te belge pencerelerinin durumunu izlemek için aşağıdaki olayları işleyebilirsiniz: