Çalışma zamanında form bölgesine erişme

Şunlara uygulanır
Bu konunun içerdiği bilgiler, yalnızca Microsoft Office'in aşağıdaki proje türleri ve sürümleri için geçerlidir. daha fazla bilgi için bkz. Office uygulama ve proje türü tarafından kullanılabilen özellikler.

Project türü

-VSTO eklentisi projeleri

Microsoft Office sürümü

- Outlook 2010

GlobalsOutlook projenizin içindeki her yerden form bölgelerine erişmek için sınıfını kullanın. sınıfı hakkında daha fazla bilgi için Globals bkz. Office projelerindeki nesnelere genel erişim.

Uygulama hedefi: Bu konudaki bilgiler, - Outlook IÇIN VSTO eklentisi projelerine yöneliktir. Daha fazla bilgi için bkz. Office uygulaması ve proje türü tarafından kullanılabilen özellikler.

belirli bir Outlook ınspector penceresinde görünen erişim formu bölgeleri

belirli bir Outlook denetçisinde görünen tüm form bölgelerine erişmek için, FormRegions sınıfının özelliğini çağırın Globals ve Inspector denetçisi temsil eden bir nesneyi geçirin.

Aşağıdaki örnek, şu anda odağa sahip olan Inspector 'da görünen form bölgelerinin koleksiyonunu alır. Bu örnek daha sonra adlı koleksiyondaki bir form bölgesine erişir formRegion1 ve metin kutusunda görüntülenen metni olarak ayarlar Hello World .

Private Sub Access_Form_Regions_ByInspector()
    Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
        (Globals.ThisAddIn.Application.ActiveInspector())
    formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByInspector()
{
    WindowFormRegionCollection formRegions = 
        Globals.FormRegions
            [Globals.ThisAddIn.Application.ActiveInspector()];
    formRegions.FormRegion1.textBox1.Text = "Hello World";
}

belirli bir Outlook gezgin penceresinde görünen erişim formu bölgeleri

belirli bir Outlook gezgininde görünen tüm form bölgelerine erişmek için, FormRegions sınıfının özelliğini çağırın Globals ve Explorer gezgini temsil eden bir nesneyi geçirin.

Aşağıdaki örnek, Gezgin 'de Şu anda odaklanmış olan form bölgelerinin koleksiyonunu alır. Bu örnek daha sonra adlı koleksiyondaki bir form bölgesine erişir formRegion1 ve metin kutusunda görüntülenen metni olarak ayarlar Hello World .

Private Sub Access_Form_Regions_ByExplorer()
    Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
        (Globals.ThisAddIn.Application.ActiveExplorer())
    formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByExplorer()
{
    WindowFormRegionCollection formRegions =
        Globals.FormRegions
            [Globals.ThisAddIn.Application.ActiveExplorer()];
    formRegions.FormRegion1.textBox1.Text = "Hello World";
}

Tüm form bölgelerine erişin

Tüm araştırıcılar ve tüm Denetçilerde görünen tüm form bölgelerine erişmek için, FormRegions sınıfının özelliğini çağırın Globals .

Aşağıdaki örnek, tüm araştırıcılar ve tüm Denetçilerde görünen form bölgelerinin koleksiyonunu alır. Bu örnekte, adlı bir form bölgesine erişilir formRegion1 ve metin kutusunda görüntülenen metin olarak ayarlanır Hello World .

Friend Sub Access_All_Form_Regions()
    Dim formRegion As Microsoft.Office.Tools.Outlook.IFormRegion
    For Each formRegion In Globals.FormRegions
        If TypeOf formRegion Is FormRegion1 Then
            Dim formRegion1 As FormRegion1 = _
                CType(formRegion, FormRegion1)
            formRegion1.textBox1.Text = "Hello World"
        End If
    Next formRegion
End Sub
internal void Access_All_Form_Regions()
{
    foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion 
        in Globals.FormRegions)
    {
        if (formRegion is FormRegion1)
        {
            FormRegion1 formRegion1 = (FormRegion1)formRegion;
            formRegion1.textBox1.Text = "Hello World";
        }
    }

}

Form bölgesindeki erişim denetimleri

Sınıfını kullanarak form bölgesindeki denetimlere erişmek için Globals , denetimleri form bölgesi kod dosyası dışındaki kod için erişilebilir yapmanız gerekir.

Form bölgesi tasarımcısında tasarlanan form bölgeleri

C# için, erişmek istediğiniz her denetimin değiştiricisini değiştirin. Bunu yapmak için, form bölgesi tasarımcısında her bir denetimi seçin ve Özellikler penceresinde değiştiriciler özelliğini veya ortak olarak değiştirin. Örneğin, öğesinin değiştirici özelliğini textBox1 olarak değiştirirseniz textBox1 yazarak erişebilirsiniz Globals.FormRegions.FormRegion1.textBox1 .

Visual Basic için değiştiriciyi değiştirmenize gerek yoktur.

İçeri aktarılan form bölgeleri

Outlook olarak tasarlanan bir form bölgesini içeri aktardığınızda, form bölgesindeki her bir denetimin erişim değiştiricisi private olur. İçe aktarılan bir form bölgesini değiştirmek için form bölgesi tasarımcısını kullanamadığı için, Özellikler penceresinde bir denetimin değiştiricisini değiştirmenin bir yolu yoktur.

Form bölgesi kod dosyası dışından bir denetime erişimi etkinleştirmek için, bu denetimi döndürmek üzere form bölgesi kod dosyasında bir özellik oluşturun.

C# ' de özellikler oluşturma hakkında daha fazla bilgi için bkz. nasıl yapılır: okuma yazma özelliklerini bildirme ve kullanma (C# programlama kılavuzu).

Visual Basic özellikler oluşturma hakkında daha fazla bilgi için bkz. nasıl yapılır: özellik oluşturma (Visual Basic).

Ayrıca bkz.