İ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:

video bağlantısı 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

  1. İçinde Visual Studio, MapItAddIn adında bir Outlook eklenti projesi oluşturun.

  2. Yeni Proje iletişim kutusunda Çözüm için Dizin Oluştur'u şeçin.

  3. 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

  1. Çözüm Gezgini içinde, MapItAddIn projesini seçin.

  2. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.

  3. İç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.

  4. 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.

  5. 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.

  6. 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.

  7. Birleştirme modunda olan Inspector ve Okuma modunda olan Inspector'ı seçin ve ardından İleri'yi tıklayın.

  8. 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

  1. Çö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.

  2. Tasarımcıyı sağ tıklatın ve Özellikler'i tıklatın.

  3. İçinde özelliklerini penceresinde, boyutu için 664, 469.

    Bu, form bölgesinin haritayı görüntülemek için yeterince geniş olacağını garantiler.

  4. Görünüm menüsünden Araç Kutusu'nu tıklayın.

  5. 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

  1. 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.

  2. Form Bölgesi Fabrikası kod bölgesini genişletin.

    MapItFactory olarak adlandırılmış form bölgesi fabrikası genişletilir.

  3. 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;
    }
    
  4. 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

  1. F5 tuşuna basarak projeyi çalıştırın.

    Outlook açılır.

  2. Outlook'ta, üzerinde Ev sekmesinde Yeni öğeler[NULL]'ı kişi.

  3. 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

  4. Kişi öğesini kaydedin ve kapatın.

  5. Ann Beebe kişi öğesini yeniden açın.

  6. Öğ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:

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

Diğer Kaynaklar

Outlook Form Bölgeleri Oluşturma