Aracılığıyla paylaş


İ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 Yaratma.

Uygulama alanı: Bu konudaki bilgiler Outlook 2007 ve Outlook 2010 uygulamalarının uygulama düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Bu anlatım aşağıdaki görevleri gösterir:

  • 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. Ayarlar ile çalışma.

Önkoşullar

Bu yönergeyi 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 2010 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.100\).md).
  • Microsoft Office Outlook 2007 veya Outlook 2010.

Mürekkepten videoya Bu konuda video sürümü için bkz: Video nasıl: Outlook Form bölge tasarlama.

Yeni Outlook Eklenti Projesi Oluşturma

Önce temel bir eklenti projesi oluşturun.

Yeni Outlook eklenti projesi oluşturmak için

  1. De Visual Studio, oluşturma, bir Outlook eklentisi projesiyle adı MapItAddIn.

  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ıklayın.

  3. De Add New Item Seç iletişim kutusunda Outlook formu bölge, ' % s'dosyasını 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 Yaratma.

  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. De Özellikler penceresinde, boyutu 664 için 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, aşağıdaki görevlerden birini gerçekleştirerek bir kişi oluşturun:

    • Outlook 2010'da, Giriş sekmesinde, Yeni Öğeler'i seçin ve Kişi'yi tıklayın.

    • Outlook 2007 Dosya menüsünde Yeni'nin üzerine gelin ve Kişi'yi tıklayın.

  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 Ana Cadde Buffalo, ny

    Ev

    Atatürk Kuzey St. Buffalo, ny

    Diğer

    3456 Caddesi 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 İçe Aktarma

Nasıl Yapılır: Outlook Eklenti Projesine Form Bölgesi Ekleme

Nasıl Yapılır: Outlook'un Form Bölgesi Görüntülemesini Engelleme

Nasıl Yapılır: Form Bölgesini Görüntüleyen Outlook Öğesine Erişim

Kavramlar

Form Bölgesine Çalışma Zamanında Erişme

Outlook Form Bölgeleri Yaratma Yönergeleri

Outlook İleti Sınıfı ile Bir Form Bölgesini İlişkilendirme

Outlook From Bölgelerinde Özel Eylemler

Diğer Kaynaklar

Outlook Form Bölgeleri Yaratma