İzlenecek yol: Outlook'de tasarlanan bir form bölgesini içeri aktarma
Şunlar için geçerlidir:Visual Studio Mac için Visual Studio
Visual Studio Code
Bu kılavuzda, Microsoft Office Outlook'da form bölgesi tasarlama ve ardından Yeni Form Bölgesi sihirbazını kullanarak form bölgesini Outlook bir VSTO Eklentisi projesine aktarma işlemleri gösterilmektedir. form bölgesini Outlook'de tasarlamak, Outlook verilere bağlanan form bölgesine yerel Outlook denetimleri eklemenize olanak sağlar. Form bölgesini içeri aktardıktan sonra, her denetimin olaylarını işleyebilirsiniz.
Ş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 uygulama ve proje türüne göre kullanılabilen özellikler.
Bu izlenecek yol aşağıdaki görevleri gösterir:
Outlook form bölgesi tasarımcısını kullanarak form bölgesi tasarlama.
Form bölgesini bir Outlook VSTO Eklentisi projesine aktarma.
Form bölgesindeki denetimlerin olaylarını işleme.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz. IDE'yi kişiselleştirme.
Önkoşullar
Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio sürümü. Daha fazla bilgi için bkz. Office çözümleri geliştirmek için bilgisayar yapılandırma.
Outlook 2013 veya Outlook 2010.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz. Visual Studio IDE'yi kişiselleştirme.
Outlook'da form bölgesi tasarımcısını kullanarak form bölgesi tasarlama
Bu adımda, Outlook bir form bölgesi tasarlaacaksınız. Daha sonra form bölgesini kolay bulunan bir konuma kaydederek Visual Studio içeri aktaracaksınız.
Bu örnek form bölgesi normal Görev formunun yerini tamamen alır. Ana görevin gerçekleştirilebilmesi için tamamlanması gereken tüm görevlerin ilerleme durumunu izlemek için bir yol sağlar (önkoşul görevleri). Form bölgesi önkoşul görevlerin listesini görüntüler ve listedeki her görevin tamamlanma durumunu gösterir. Kullanıcılar listeye görev ekleyebilir ve bunları kaldırabilir. Ayrıca her görevin tamamlanma durumunu yenileyebilirler.
Outlook'de form bölgesi tasarımcısını kullanarak form bölgesi tasarlamak için
Microsoft Office Outlook başlayın.
Outlook,Geliştirici sekmesinde Form Tasarla'ya tıklayın. Daha fazla bilgi için bkz . Nasıl yapılır: Şeritteki geliştirici sekmesini gösterme.
Tasarım Formu kutusunda Görev'e ve ardından Aç'a tıklayın.
Outlook'da, Geliştirici sekmesinin Tasarım grubunda Yeni Form Bölgesi'ne tıklayın.
Yeni bir form bölgesi açılır. Alan Seçici görünmüyorsa, Araçlar grubunda Alan Seçici'ye tıklayın.
Konu alanını ve Tamamlanma Yüzdesi alanını Alan Seçici'den form bölgesine sürükleyin.
Araçlar grubunda Denetim Araç Kutusu'na tıklayarak Araç Kutusu'nu açın.
Araç Kutusu'ndan bir Etiketi form bölgesine sürükleyin. Etiketi Konu ve Tamamlanma Yüzdesi alanlarının altına yerleştirin.
Etikete sağ tıklayın ve ardından Gelişmiş Özellikler'e tıklayın.
Özellikler penceresinde Caption özelliğini Bu görev aşağıdaki görevlere bağlıdır olarak ayarlayın, Width özelliğini 200 olarak ayarlayın ve Uygula'ya tıklayın.
Bir ListBox denetimini Araç Kutusu'ndan form bölgesine sürükleyin. Bu görevin altındaki liste kutusunu konumlandırmak aşağıdaki görevler etiketine bağlıdır .
Yeni eklediğiniz liste kutusunu seçin.
Özellikler penceresinde Genişlik'i300 olarak ayarlayın ve Uygula'ya tıklayın.
Araç Kutusu'ndan bir Etiketi form bölgesine sürükleyin. Etiketi liste kutusunun altına yerleştirin.
Yeni eklediğiniz etiketi seçin.
Özellikler penceresinde Caption özelliğini Bağımlı görevler listesine eklenecek görevi seçin olarak ayarlayın, Width özelliğini 200 olarak ayarlayın ve uygula'ya tıklayın.
Bir ComboBox denetimini Araç Kutusu'ndan form bölgesine sürükleyin. Birleşik giriş kutusunu , Bağımlı görevler listesine eklenecek görevi seçin etiketinin altına yerleştirin.
Yeni eklediğiniz birleşik giriş kutusunu seçin.
Özellikler penceresinde Width özelliğini 300 olarak ayarlayın ve Uygula'ya tıklayın.
CommandButton denetimini Araç Kutusu'ndan form bölgesine sürükleyin. Komut düğmesini birleşik giriş kutusunun yanına yerleştirin.
Yeni eklediğiniz komut düğmesini seçin.
Özellikler penceresinde Ad'ıAddDependentTask olarak ayarlayın, Açıklamalı Alt Yazı'yıBağımlı Görev Ekle olarak ayarlayın, Genişlik'i100 olarak ayarlayın ve Uygula'ya tıklayın.
Alan Seçici'deYeni'ye tıklayın.
Yeni Alan iletişim kutusunda, Ad alanına hiddenField yazın ve tamam'a tıklayın.
HiddenField alanını Alan Seçici'den form bölgesine sürükleyin.
Özellikler penceresinde Visible değerini 0 - False olarak ayarlayın ve Uygula'ya tıklayın.
Outlook'da, Geliştirici sekmesinin Tasarım grubunda Kaydet düğmesine ve ardından Form Bölgesini Farklı Kaydet'e tıklayın.
Form bölgesini TaskFormRegion olarak adlandırın ve bilgisayarınızdaki yerel bir dizine kaydedin.
Outlook form bölgesini Outlook Form Depolama (.ofs) dosyası olarak kaydeder. Form bölgesi TaskFormRegion.ofs adıyla kaydedilir.
Outlook çıkın.
Yeni Outlook Eklentisi projesi oluşturma
Bu adımda bir Outlook VSTO Eklentisi projesi oluşturacaksınız. Bu kılavuzun ilerleyen bölümlerinde form bölgesini projeye aktaracaksınız.
YENI bir Outlook VSTO Eklentisi projesi oluşturmak için
Visual Studio'da TaskAddIn adlı bir Outlook VSTO Eklentisi projesi oluşturun.
Yeni Project iletişim kutusunda Çözüm için dizin oluştur'u seçin.
Projeyi varsayılan proje dizinine kaydedin.
Daha fazla bilgi için bkz. Nasıl yapılır: Visual Studio'da Office projeleri oluşturma.
Form bölgesini içeri aktarma
yeni Outlook Form Bölgesi sihirbazını kullanarak, Outlook içinde tasarladığınız form bölgesini Outlook VSTO Eklentisi projesine aktarabilirsiniz.
Form bölgesini Outlook VSTO Eklentisi projesine aktarmak için
Çözüm Gezgini'daTaskAddIn projesine sağ tıklayın, Ekle'nin üzerine gelin ve Yeni Öğe'ye tıklayın.
Şablonlar bölmesinde Form Bölgesi Outlook seçin, dosyayı TaskFormRegion olarak adlandırın ve Ekle'ye tıklayın.
NewOutlook Form Bölgesi sihirbazı başlatılır.
Form bölgesini nasıl oluşturmak istediğinizi seçin sayfasında, Outlook Form Depolama (.ofs) Dosyasını İçeri Aktar'a tıklayın ve ardından Gözat'a tıklayın.
Varolan Outlook Form Bölgesi Dosya Konumu iletişim kutusunda TaskFormRegion.ofs konumunu bulun, TaskFormRegion.ofs öğesini seçin, Aç'a tıklayın ve sonra İleri'ye tıklayın.
Oluşturmak istediğiniz form bölgesi türünü seçin sayfasında Tümünü değiştir'e ve ardından İleri'ye tıklayın.
Tümünü değiştir form bölgesi, Outlook formunun tamamının yerini alır. Form bölgesi türleri hakkında daha fazla bilgi için bkz. Outlook form bölgeleri oluşturma.
Açıklayıcı metin sağlayın ve görüntüleme tercihlerinizi seçin sayfasında İleri'ye tıklayın.
Bu form bölgesini görüntüleyecek ileti sınıflarını belirleyin sayfasında, Bu form bölgesini hangi özel ileti sınıfları görüntüleyecek? alanına IPM yazın. Task.TaskFormRegion ve ardından Son'a tıklayın.
Projenize bir TaskFormRegion.cs veya TaskFormRegion.vb dosyası eklenir.
Form bölgesindeki denetimlerin olaylarını işleme
Artık projede form bölgeniz olduğuna göre, Outlook'da form bölgesine eklediğiniz düğmenin olayını işleyen Microsoft.Office.Interop.Outlook.OlkCommandButton.Click
kod ekleyebilirsiniz.
Ayrıca, form bölgesi görüntülendiğinde form bölgesindeki denetimleri güncelleştiren olaya kod FormRegionShowing ekleyin.
Form bölgesindeki denetimlerin olaylarını işlemek için
Çözüm Gezgini'daTaskFormRegion.cs veya TaskFormRegion.vb'ye sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
TaskFormRegion.cs veya TaskFormRegion.vb , Kod Düzenleyicisi'nde açılır.
Aşağıdaki kodu
TaskFormRegion
sınıfına ekleyin. Bu kod, form bölgesindeki birleşik giriş kutusunu Outlook Görevler klasöründeki her görevin konu satırıyla doldurur.private void populateComboBox() { Outlook.Application Application = new Outlook.Application(); Outlook.NameSpace outlookNameSpace = Application.GetNamespace("MAPI"); Outlook.MAPIFolder taskFolder = outlookNameSpace.GetDefaultFolder( Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderTasks); Outlook.Items taskItems = taskFolder.Items; foreach (Outlook.TaskItem task in taskItems) { if (task.Subject != null) { comboBox1.AddItem(task.Subject, System.Type.Missing); } } comboBox1.Text = comboBox1.GetItem(0); }
Aşağıdaki kodu
TaskFormRegion
sınıfına ekleyin. Bu kod aşağıdaki görevleri gerçekleştirir:Microsoft.Office.Interop.Outlook.TaskItem
Yardımcı yöntemini çağırarakFindTaskBySubjectName
ve istenen görevin konusunu geçirerek Görevler klasöründe öğesini bulur. Sonraki adımda yardımcı yöntemini ekleyebilirsinizFindTaskBySubjectName
.Microsoft.Office.Interop.Outlook.TaskItem.Subject
veMicrosoft.Office.Interop.Outlook.TaskItem.PercentComplete
değerlerini bağımlı görev liste kutusuna ekler.Görevin konusunu form bölgesindeki gizli alana ekler. Gizli alan bu değerleri Outlook öğesinin bir parçası olarak depolar.
void AddDependentTask_Click() { Outlook.TaskItem tempTaskItem = FindTaskBySubjectName(comboBox1.Text); if (tempTaskItem != null) { this.listBox1.AddItem(tempTaskItem.PercentComplete.ToString() + "% Complete -- " + tempTaskItem.Subject, System.Type.Missing); this.olkTextBox3.Text = this.olkTextBox3.Text + "|" + tempTaskItem.Subject; } }
Aşağıdaki kodu
TaskFormRegion
sınıfına ekleyin. Bu kod, önceki adımda açıklanan yardımcı yöntemiFindTaskBySubjectName
sağlar.private Outlook.TaskItem FindTaskBySubjectName(string subjectName) { Outlook.Application Application = new Outlook.Application(); Outlook.NameSpace outlookNameSpace = Application.GetNamespace("MAPI"); Outlook.MAPIFolder tasksFolder = outlookNameSpace.GetDefaultFolder( Microsoft.Office.Interop.Outlook. OlDefaultFolders.olFolderTasks); Outlook.Items taskItems = tasksFolder.Items; foreach (Outlook.TaskItem taskItem in taskItems) { if (taskItem.Subject == subjectName) { return taskItem; } } return null; }
Aşağıdaki kodu
TaskFormRegion
sınıfına ekleyin. Bu kod aşağıdaki görevleri gerçekleştirir:Form bölgesindeki liste kutusunu, her bağımlı görevin geçerli tamamlanma durumuyla yeniler.
Her bağımlı görevin konusunu almak için gizli metin alanını ayrıştırıyor. Ardından yardımcı yöntemini çağırarak
FindTaskBySubjectName
ve herMicrosoft.Office.Interop.Outlook.TaskItem
görevin konusunu geçirerek Görevler klasöründeki her birini bulur.Microsoft.Office.Interop.Outlook.TaskItem.Subject
veMicrosoft.Office.Interop.Outlook.TaskItem.PercentComplete
değerlerini bağımlı görev liste kutusuna ekler.void RefreshTaskListBox() { listBox1.Clear(); Outlook.TaskItem tempTaskItem; String[] tempArray = olkTextBox3.Text.Split(new Char[] { '|' }); foreach (string tempString in tempArray) { tempTaskItem = FindTaskBySubjectName(tempString); if (tempTaskItem != null) { this.listBox1.AddItem(tempTaskItem.PercentComplete.ToString() + "% Complete -- " + tempTaskItem.Subject, System.Type.Missing); } } }
Olay işleyicisini
TaskFormRegion_FormRegionShowing
aşağıdaki kodla değiştirin. Bu kod aşağıdaki görevleri gerçekleştirir:Form bölgesi görüntülendiğinde form bölgesindeki birleşik giriş kutusunu görev konularıyla doldurur.
RefreshTaskListBox
Form bölgesi göründüğünde yardımcı yöntemini çağırır. Bu, öğe daha önce açıldığında liste kutusuna eklenmiş olan bağımlı görevleri görüntüler.
Outlook form bölgesini test edin
Form bölgesini test etmek için, form bölgesindeki önkoşul görevleri listesine görevler ekleyin. Önkoşul görevinin tamamlanma durumunu güncelleştirin ve ardından önkoşul görev listesinde görevin güncelleştirilmiş tamamlanma durumunu görüntüleyin.
Form bölgesini test etmek için
Projeyi çalıştırmak için F5 tuşuna basın.
Outlook başlar.
Outlook Giriş sekmesindeYeni Öğeler'e ve ardından Görev'e tıklayın.
Görev formunda, Konu alanına Bağımlı Görev yazın.
Şeridin Görev sekmesinin Eylemler grubunda Kapat'ı Kaydet'e &tıklayın.
Outlook Giriş sekmesindeYeni Öğeler'e, Diğer Öğeler'e ve ardından Form Seç'e tıklayın.
Form Seç iletişim kutusunda GörevFormBölgesi'ne tıklayın ve sonra da Aç'a tıklayın.
TaskFormRegion form bölgesi görüntülenir. Bu form, tüm görev formunun yerini alır. Bağımlı görevler listesine eklenecek bir görev seçin birleşik giriş kutusu Görevler klasöründeki diğer görevlerle doldurulur.
Görev formunda, Konu alanına Birincil Görev yazın.
Bağımlı görevler listesine eklenecek görevi seçin birleşik giriş kutusunda, Bağımlı Görev'i seçin ve ardından Bağımlı Görev Ekle'ye tıklayın.
%0 Tamamlandı -- Bağımlı Görev, Bu görev aşağıdaki görevler liste kutusunda görünür. Bu, düğme olayını başarıyla işlediğinizi
Microsoft.Office.Interop.Outlook.OlkCommandButton.Click
gösterir.Birincil Görev öğesini kaydedin ve kapatın.
bağımlı görev öğesini Outlook yeniden açın.
Bağımlı Görev formunda Tamamlanma Yüzdesi alanını %50 olarak değiştirin.
Bağımlı Görev Şeridi'nin Görev sekmesinin Eylemler grubunda Kapat'ı Kaydet'e &tıklayın.
birincil görev öğesini Outlook yeniden açın.
%50 Tamamlandı -- Bağımlı Görev artık Bu görev aşağıdaki görevler liste kutusunda görünür.
Sonraki adımlar
Aşağıdaki konulardan bir Outlook uygulamasının kullanıcı arabirimini özelleştirme hakkında daha fazla bilgi edinebilirsiniz:
Yönetilen denetimleri görsel tasarımcıya sürükleyerek form bölgesinin görünümünü tasarlama hakkında daha fazla bilgi edinmek için bkz. İzlenecek yol: Outlook form bölgesi tasarlama.
bir Outlook öğesinin Şeridini özelleştirme hakkında bilgi edinmek için bkz. Outlook için şeridi özelleştirme.
Outlook özel görev bölmesi ekleme hakkında daha fazla bilgi edinmek için bkz. Özel görev bölmeleri.
Ayrıca bkz.
- Çalışma zamanında form bölgesine erişme
- Outlook form bölgeleri oluşturma
- Outlook form bölgeleri oluşturma yönergeleri
- İzlenecek yol: Outlook form bölgesi tasarlama
- Nasıl yapılır: Outlook Eklentisi projesine form bölgesi ekleme
- Form bölgesini Outlook ileti sınıfıyla ilişkilendirme
- Outlook form bölgelerindeki özel eylemler
- Nasıl yapılır: Outlook form bölgesini görüntülemesini engelleme