İzlenecek Yol: Outlook Form Bölgesi Tasarlama
Özel form bölgeleri, standart veya özel Office Outlook formlarını genişletirler.Bu anlatımda, bir kişi öğesinin Inspector penceresinde yeni bir sayfa olarak görünen özel form bölgesi tasarlayacaksınız.Bu form bölgesi,adres bilgilerini Windows Live Local Search Web'e yollayarak, her kişi için listelenen adreslerin bir haritasını görüntüler.Form bölgeleri hakkında bilgi için, bkz. Outlook Form Bölgeleri Oluşturma.
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.
Bu örneklerde aşağıdaki görevler gösterilir:
Yeni Outlook eklenti projesi oluşturma.
Eklenti projesine bir form bölgesi ekleme.
Form bölgesinin düzenini tasarlama.
Form bölgesinin davranışını özelleştirme.
Outlook form bölgelerinı sınama.
[!NOT]
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arayüzü öğelerinden bazıları için farklı adlar veya konumlar gösterebilir.Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler.Daha fazla bilgi için bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.
Önkoşullar
Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2013 sürümü. Daha fazla bilgi edinmek için, bkz. Office Çözümleri Geliştirmek İçin Bilgisayarı Yapılandırma.
Outlook 2013 veya Outlook 2010.
Bu konunun videosu için bkz: Video nasıl: Outlook Form Bölgesi Tasarlama.
Yeni Outlook Eklenti Projesi Oluşturma
Önce temel bir eklenti projesi oluşturun.
Yeni Outlook eklenti projesi oluşturmak için
İçinde Visual Studio, MapItAddIn adında bir Outlook eklenti projesi oluşturun.
Yeni Proje iletişim kutusunda Çözüm için Dizin Oluştur'u şeçin.
Dosyayı herhangi bir dizine kaydedin.
Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.
Outlook Eklenti Projesine Bir Form Bölgesi Ekleme
Outlook eklenti çözümü bir veya daha fazla Outlook form bölgesi öğesi içerebilir.Yeni Outlook Form Bölgesi sihirbazını kullanarak projenize form bölgesi öğesi ekleyin.
Outlook eklenti projesine bir form bölgesi eklemek için
Çözüm Gezgini içinde, MapItAddIn projesini seçin.
Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.
İçinde Add New Item iletişim kutusunda seçin Outlook Form bölgesi, dosyayı MapIt olarak adlandırın ve sonra ' Ekle.
YeniOutlook Form Bölgesi sihirbazı başlar.
Form bölgesini nasıl oluşturmak istediğinizi seçin sayfasında, Yeni bir form bölgesi tasarla'yı tıklayın ve sonra İleri'yi tıklayın.
Oluşturmak istediğiniz form bölgesinin türünü seçin sayfasında, Ayrı'yı tıklayın ve ardından İleri'yi tıklatın.
ayrı form bölgesi Outlook formuna yeni bir sayfa ekler.Form bölgesi türleri hakkında daha fazla bilgi için, bkz. Outlook Form Bölgeleri Oluşturma.
Tanımlayıcı metin girin ve görüntüleme tercihlerini seçin sayfasında İsim kutusuna Map It yazın.
Bu isim, kişi öğesi açıldığında Inspector penceresinin Şerit'inde görünür.
Birleştirme modunda olan Inspector ve Okuma modunda olan Inspector'ı seçin ve ardından İleri'yi tıklayın.
Bu form bölgesini görüntüleyecek ileti sınıflarını belirle sayfasında, Posta İletisi'ni silin, Kişi'yi seçin ve sonra Son'u tıklayın.
MapIt.cs veya MapIt.vb dosyası projenize eklenir.
Form Bölgesinin Düzenini Tasarlama
form bölgesi tasarımcısı'nı kullanarak, form bölgelerini görsel olarak geliştirin.Alanda yönetilen denetimleri form bölgelerine sürükleyebilirsiniz.Denetim düzenini ve görünümünü ayarlamak için tasarımcıyı ve Özellikler penceresini kullanın.
Form bölgesinin düzenini tasarlamak için
Çözüm Gezgini'nde, MapItAddIn projesini genişletin ve MapIt.cs veya MapIt.vb dosyasını, Form Bölgesini açmak için çift tıklayın.
Tasarımcıyı sağ tıklatın ve Özellikler'i tıklatın.
İçinde özelliklerini penceresinde, boyutu için 664, 469.
Bu, form bölgesinin haritayı görüntülemek için yeterince geniş olacağını garantiler.
Görünüm menüsünden Araç Kutusu'nu tıklayın.
Araç Kutusu'nun Ortak Denetimler sekmesinden, WebBrowser'ı form bölgesine ekleyin.
WebBrowser, kişi için listelenen her adresin haritasını görüntüler.
Form bölgesinin Davranışını Özelleştirme
Bir form bölgesinin çalışma zamanındaki davranış yolunu özelleştirmek için form bölgesi olay işleyicilerine kod ekleyin.Bu form bölgesi için, kod Outlook öğesinin özelliklerini sınar ve Map It form bölgesinin görüntülenip görüntülenmeyeceğini belirler.Eğer form bölgesini görüntülerse, kod Windows Live Local Search'e gider ve Outlook kişi öğesinde listelenen her adresin haritasını yükler.
Form bölgesinin davranışını özelleştirmek için
Solution Explorer'da, MapIt.cs veya MapIt.vb dosyasını sağ tıklayın ve ardından Kodu Göster'i tıklayın.
MapIt.cs veya MapIt.vb, Kod Düzenleyici'de açılır.
Form Bölgesi Fabrikası kod bölgesini genişletin.
MapItFactory olarak adlandırılmış form bölgesi fabrikası genişletilir.
MapItFactory_FormRegionInitializing olay işleyicisine aşağıdaki kodu ekleyin.Bu olay işleyicisi, kullanıcı kişi öğesini açtığında çağrılır.Aşağıdaki kod, kişi öğesinin bir adres içerip içermediğini belirler. Eğer kişi öğesi hiçbir adres içermiyorsa, bu kod FormRegionInitializingEventArgs sınıfının Cancel özelliğini true'ya ayarlamıştır ve form bölgesi görüntülenmez.Aksi durumda, eklenti FormRegionShowing olayını oluşturur form bölgesini görüntüler.
Private Sub MapItFactory_FormRegionInitializing(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs) Handles Me.FormRegionInitializing Dim myItem As Outlook.ContactItem = CType(e.OutlookItem, Outlook.ContactItem) If Not (myItem Is Nothing) Then If Not (myItem.BusinessAddress Is Nothing) AndAlso myItem.BusinessAddress.Trim().Length > 0 Or (Not (myItem.HomeAddress Is Nothing) AndAlso myItem.HomeAddress.Trim().Length > 0) Or (Not (myItem.OtherAddress Is Nothing) AndAlso myItem.OtherAddress.Trim().Length > 0) Then Return End If End If e.Cancel = True End Sub
private void MapItFactory_FormRegionInitializing(object sender, Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e) { Outlook.ContactItem myItem = (Outlook.ContactItem)e.OutlookItem; if (myItem != null) { if ((myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) || (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) || (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0)) { return; } } e.Cancel = true; }
FormRegionShowing olay işleyicisine aşağıdaki kodu ekleyin.Bu kod aşağıdaki görevleri gerçekleştirir:
Kişi öğesindeki her adresi sıralar ve URL dizgisi oluşturur.
WebBrowser nesnesinin Navigate yöntemini çağırır ve URL dizgisini parametre olarak geçirir.
Local Search Web sitesi, Map It form bölgesinde görünür ve karalama defterinde her adresi sunar.
Private Sub MapIt_FormRegionShowing(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.FormRegionShowing Dim tempLoc As String = "" Dim defaultAddress As String = "" Dim scratchPadAddress As String = "" Dim myItem As Outlook.ContactItem = _ CType(Me.OutlookItem, Outlook.ContactItem) If Not (myItem Is Nothing) Then If Not (myItem.HomeAddress Is Nothing) And _ myItem.HomeAddress.Trim().Length > 0 Then tempLoc = myItem.HomeAddressStreet.Trim() + " " _ + myItem.HomeAddressCity + " " + myItem.HomeAddressState + _ " " + myItem.HomeAddressPostalCode If myItem.HomeAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Home" Else scratchPadAddress += "adr." + tempLoc + "_Home~" End If End If If Not (myItem.BusinessAddress Is Nothing) And _ myItem.BusinessAddress.Trim().Length > 0 Then tempLoc = myItem.BusinessAddressStreet.Trim() + " " _ + myItem.BusinessAddressCity + " " + _ myItem.BusinessAddressState + " " + _ myItem.BusinessAddressPostalCode If myItem.BusinessAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Business" Else scratchPadAddress += "adr." + tempLoc + "_Business~" End If End If If Not (myItem.OtherAddress Is Nothing) And _ myItem.OtherAddress.Trim().Length > 0 Then tempLoc = myItem.OtherAddressStreet.Trim() + " " + _ myItem.OtherAddressCity + " " + myItem.OtherAddressState + _ " " + myItem.OtherAddressPostalCode If myItem.OtherAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Other" Else scratchPadAddress += "adr." + tempLoc + "_Other~" End If End If End If WebBrowser1.Navigate(("http://local.live.com/default.aspx?style=r&where1=" _ + defaultAddress + "&sp=" + scratchPadAddress)) End Sub
private void MapIt_FormRegionShowing(object sender, EventArgs e) { string tempLoc = ""; string defaultAddress = ""; string scratchPadAddress = ""; Outlook.ContactItem myItem = (Outlook.ContactItem)this.OutlookItem; if (myItem != null) { if (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) { tempLoc = myItem.HomeAddressStreet.Trim() + " " + myItem.HomeAddressCity + " " + myItem.HomeAddressState + " " + myItem.HomeAddressPostalCode; if (myItem.HomeAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Home"; } else { scratchPadAddress += "adr." + tempLoc + "_Home~"; } } if (myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) { tempLoc = myItem.BusinessAddressStreet.Trim() + " " + myItem.BusinessAddressCity + " " + myItem.BusinessAddressState + " " + myItem.BusinessAddressPostalCode; if (myItem.BusinessAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Business"; } else { scratchPadAddress += "adr." + tempLoc + "_Business~"; } } if (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0) { tempLoc = myItem.OtherAddressStreet.Trim() + " " + myItem.OtherAddressCity + " " + myItem.OtherAddressState + " " + myItem.OtherAddressPostalCode; if (myItem.OtherAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Other"; } else { scratchPadAddress += "adr." + tempLoc + "_Other~"; } } } webBrowser1.Navigate("http://local.live.com/default.aspx?style=r&where1=" + defaultAddress + "&sp=" + scratchPadAddress); }
Outlook Form Bölgelerinı Sınama
Projeyi çalıştırdığınızda Visual Studio Outlook'u açar.Map It form bölgesini görmek için bir kişi öğesi açın.Map It form bölgesi, adres içeren herhangi bir kişi öğesinin formunda bir sayfa olarak görünür.
Map It form bölgesini sınamak için
F5 tuşuna basarak projeyi çalıştırın.
Outlook açılır.
Outlook'ta, üzerinde Ev sekmesinde Yeni öğeler[NULL]'ı kişi.
Kişi formunda, Ann Beebe'yi kişi ismi olarak yazın ve ardından aşağıdaki üç adresi belirleyin.
Adres Türü
Adres
İş
4567 AnaBuffalo, ny
Ev
Atatürk Kuzey St.Buffalo, ny
Diğer
3456 Main St.Seattle, wa
Kişi öğesini kaydedin ve kapatın.
Ann Beebe kişi öğesini yeniden açın.
Öğenin Şerit'inin Göster grubunda, Map It form bölgesini açmak için Map It'i tıklayın.
Map It form bölgesi görünür ve Local Search Web sitesini görüntüler.İş, Ev ve Diğer adresleri karalama defterinde görünür.Karalama defterinde, haritalandırmak istediğiniz adresi seçin.
Sonraki Adımlar
Aşağıdaki konulardan Outlook uygulamasının UI'ını nasıl özelleştireceğiniz hakkında daha fazla bilgi alabilirsiniz:
- Outlook öğesinin Şerit'inin nasıl özelleştirileceği hakkında bilgi edinmek için, bkz. Outlook İçin Şerit Özelleştirme.
Ayrıca bkz.
Görevler
İzlenecek Yol: Outlook'ta Tasarlanan Form Bölgesini İçeri Aktarma
Nasıl Yapılır: Outlook Eklenti Projesine Form Bölgesi Ekleme
Nasıl Yapılır: Outlook'un Form Bölgesini Görüntülemesini Engelleme
Kavramlar
Form Bölgesine Çalışma Zamanında Erişme
Outlook Form Bölgeleri Oluşturma Yönergeleri
Form Bölgesini Outlook İleti Sınıfıyla İlişkilendirme
Outlook Form Bölgelerindeki Özel Eylemler