Ana Bilgisayar Öğelerine ve Denetimlerine Genel Bakış

Konak öğeleri ve konak kontrolleri, Visual Studio'daki Office geliştirme araçları tarafından oluşturulmuş Office çözümleri için programa modeli sağlamaya yardımcı olan türlerdir.Konak öğeleri ve konak kontrolleri, COM'u temel alan Microsoft Office Word ve Microsoft Office Excel nesne modelleriyle etkileşmelerini Windows Form denetimleri gibi yönetilen nesnelerle etkileşmeye benzer şekilde yaparlar.

Uygulama hedefi: Bu konudaki bilgiler, şu uygulamalar için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir. Excel 2013 ve Excel 2010; Word 2013 ve Word 2010. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.

Konak Öğeleri

Konak öğeleri, Office projelerindeki nesne modeli sıradüzeninin tepesindeki türlerdir.Office çalışma zamanı için Visual Studio Araçları, Word ve Excel çözümleri için aşağıdaki konak öğelerini tanımlar:

Bu türlerin her biri yerel olarak adlandırılan Word veya Excel nesne modelinde var olan bir nesneyi genişleten bir yerel Office nesnesinin.Örneğin, Document konak öğesi, Word için birincil birlikte çalışma derlemesinde tanımlanan Document nesnesini genişletir.

Konak öğeleri, onlara karşılık gelen Office nesneleriyle genel olarak aynı temel işleve sahip olup aşağıdaki özelliklerle güçlendirilmiştir:

  • Konak kontrolleri ve Windows Forms denetimleri de dahil olmak üzere yönetilen denetimleri barındırabilme özelliği.

  • Daha fazla olay modeli.Yerel Word ve Excel nesne modellerindeki bazı belge, çalışma kitavı ve çalışma sayfası olayları sadece uygulama düzeyinde başlatılır.Konak öğeleri bu olayları belge düzeyinde sunar, böylelikle özel bir belge için olayları işlemek daha kolay olur.

Belge Düzeyi Projelerinde Konak Öğelerini Anlama

Belge düzeyi projelerinde konak öğeleri kodunuza bir giriş noktası sağlarlar ve konak öğelerinin çözümünüzü geliştirmenize yardımcı olacak tasarımcıları vardır.

Document ve Worksheet konak öğelerinin, belgenin ya da çalışma sayfasının görsel temsili olan Windows Forms tasarımcısı gibi kendileriyle ilişkili tasarımcıları vardır.Bu tasarımcıyı belge veya çalışma sayfasının içeriğini doğrudan Word veya Excel'de değiştirmek ve tasarım yüzeyine denetim sürüklemek için kullanabilirsiniz.Daha fazla bilgi için, bkz. Belge Konak Öğesi ve Çalışma Sayfası Konak Öğesi.

Workbook konak öğesi kullanıcı arayüzü olan bir denetim için kapsayıcı olarak davranmaz.Bunun yerine, bu konak öğesinin tasarımcısı bileşen alanı olarak işlev görür; böylelikle, DataSet gibi bir bileşeni tasarım yüzeyine sürükleyebilirsiniz.Daha fazla bilgi için bkz. Çalışma Kitabı Konak Öğesi.

Belge düzeyi projesinde konak öğeleri program aracılığıyla oluşturulamaz.Bunun yerine, Visual Studio'nun projenizde tasarım zamanında otomatik olarak oluşturduğu ThisDocument,ThisWorkbook veya Sheetn sınıflarını kullanın.Bu oluşturulmuş sınıflar konak öğelerinden türetilir ve kodunuza bir giriş noktası sağlarlar.Daha fazla bilgi için bkz. Konak Denetimlerinin ve Konak Öğelerinin Programlama Sınırlamaları.

Uygulama Düzeyi Projelerinde Konak Öğelerini Anlama

Bir uygulama düzeyi eklentisi oluşturduğunuzda varsayılanda hiçbir konak öğesine erişiminiz yoktur.Ancak, Word ve Excel eklentilerinde çalışma zamanında Document, Workbook ve Worksheet konak öğelerini oluşturabilirsiniz.

Konak öğesi yarattıktan sonra belgelere denetimleri ekleme gibi görevleri gerçekleştirebilirsiniz.Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentilerindeki Word Belgelerini ve Excel Çalışma Kitaplarını Çalışma Zamanında Genişletme.

Konak Kontrolleri

Konak kontrolleri, Microsoft.Office.Interop.Word.ContentControl ve Range gibi Word ve Excel nesne modellerindeki çeşitli kullanıcı arayüzü (UI) nesnelerini genişletirler.

Aşağıdaki konak kontrolleri Excel projelerinde kullanılabilirdir:

Aşağıdaki konak kontrolleri Word projelerinde kullanılabilirdir:

Office belgelerine eklenen konak kontrolleri yerel Office nesneleri gibi davranırlar fakat konak kontrollerinin olaylar ve veri bağlama özellikleri gibi ek işlevleri vardır.Örneğin, Excel'de yerel bir Range nesnesinin olaylarını yakaladığınızda ilk olarak çalışma sayfasının change (değişim) olayını işlemeniz gerekir.Bunun ardından değişimin Range aralığında meydana gelip gelmediğine karar vermelisiniz.Bunun aksine, NamedRange konak kontrollerinin doğrudan işleyebileceğiniz Change olayını vardır.

Bir konak öğesi ve konak kontrolü arasındaki ilişki, bir Windows Form ve Windows Forms denetimi arasındaki ilişkiye çok benzer.Windows Form'a bir metin kutusu denetimi yerleştireceğiniz gibi Worksheet konak öğesine bir NamedRange denetimi yerleştirirsiniz.Aşağıdaki gösterimde, konak öğeleri ve konak kontrolleri arasındaki ilişki anlatılır.

Konak öğeleri ve konak kontrolleri arasındaki ilişki

Ayrıca, Office çözümlerinizde Word ve Excel belge yüzeyine doğrudan ekleyerek Windows Forms denetimleri de kullanabilirsiniz.Daha fazla bilgi için bkz. Office Belgelerindeki Windows Forms Denetimlerine Genel Bakış.

[!NOT]

Bir Word alt belgesinde konak kontrolü ya da Windows Forms denetimi desteklenmez.

Belgelere Konak Kontrolleri Ekleme

Belge düzeyi projelerinde konak kontrollerini Word belgelerine veya Excel çalışma sayfalarına tasarım zamanında aşağıdaki yollarla ekleyebilirsiniz:

  • Belgeye tasarım zamanında yerel bir nesne eklerken yapılan şekilde konak kontrolü ekleme.

  • Araç Kutusu'nda belgeye veya çalışma sayfasına konak kontrolü sürükleme.Excel konak kontrolleri Excel projelerinde Excel Denetimleri sekmesinden, Word konak kontrolleri Word projelerinde Word Denetimler sekmesinden kullanılabilir.

  • Veri Kaynakları pencerisinden belgeye veya çalışma sayfasına konak kontrolü sürükleme.Bu verilere bağlanmış denetimleri eklemenizi sağlar.Daha fazla bilgi için bkz. Office Çözümlerinde Verileri Denetimlere Bağlama.

Belge düzeyi ve uygulama düzeyi projelerinde konak kontrollerini belgelere çalışma zamanında da ekleyebilirsiniz.Daha fazla bilgi için bkz. Office Belgelerine Çalışma Zamanında Denetim Ekleme.

Belgeye nasıl konak kontrolü ekleyeceğiniz hakkında daha fazla bilgi için aşağıdaki konulara bakınız:

Konak Kontrollerini Adlandırma

Araç Kutusu'ndan belgenize bir konak kontrolü sürüklediğinizde denetim denetimin türü ve sonunda artan bir numara kullanılarak otomatik olarak adlandırılır.Örneğin yer işaretleri bookmark1, bookmark2 vb. şekilde adlandırılır.Denetimi eklemek için Word veya Excel'in yerel işlevini kullanırsanız denetimi oluşturduğunuzda ona özel bir isim verebilirsiniz.Denetimlerinizi Özellikler penceresinden İsim özelliğini değiştirerek de yeniden adlandırabilirsiniz.

[!NOT]

Ayrılmış sözcükleri konak kontrollerini isimlendirmek için kullanamazsınız.Örneğin, çalışma sayfasına bir NamedRange denetimi ekleyip ismini System olarak değiştirirseniz projenizi derlediğinizde hatalar oluşur.

Konak Kontrollerini Silme

Belge düzeyi projelerinde konak denetimleri çalışma zamanında Excel çalışma sayfası veya Word belgesine denetim seçme ve Delete tuşuna basarak silebilirsiniz.Ancak, Excel'de NamedRange denetimlerini silmek için Define Name (İsmi Tanımla) iletişim kutusunu kullanmanız gereklidir.

Belgeye tasarım zamanında bir konak kontrolü eklerseniz bunu çalışma zamanında program aracılığıyla kaldırmamalısınız, çünkü sonra denetimi kod içinde kullanmaya çalıştığınız zaman özel bir durum yaratılır.Konak kontolünün Delete yöntemi sadece belgeye çalışma zamanında eklenmiş konak kontrollerini siler.Tasarım zamanında oluşturulmuş bir konak kontrolünün Delete yöntemini çağırdığınız zaman özel bir durum yaratılır.

Örneğin bir NamedRange['inM:Microsoft.Office.Tools.Excel.NamedRange.Delete] yöntemi sadece NamedRange çalışma sayfasına program aracılığıyla eklenmişse, bir başka deyişle konak kontrolü dinamik olarak oluşturulmuşsa onu siler.Dinamik olarak oluşturulmuş konak kontrolleri Worksheet.Controls veya Document.Controls özelliğinin Remove yöntemine denetimin adı geçirilerek de silinebilir.Daha fazla bilgi için bkz. Office Belgelerine Çalışma Zamanında Denetim Ekleme.

Eğer son kullanıcı çalışma zamanında belgeden bir konak kontrolü silerse çözüm beklenmeyen şekillerde başarısız olabilir.Word ve Excel'de konak kontrollerini silinmekten korumak için belge koruma özelliklerini kullanabilirsiniz.Daha fazla bilgi için bkz. Office Geliştirme Örnekleri ve İzlenecek Yollar.

[!NOT]

Belgenin veya çalışma sayfasının Shutdown olay işleyicisi sırasında programlı olarak denetimleri silmeyin.Shutdown olayı olduğunda UI öğeleri artık kullanılamaz.Uygulama kapanmadan denetimleri kaldırmak istiyorsanız kodunuza başka olay işleyicisi ekleyin, örn. BeforeClose veya BeforeSave.

Konak Kontrolü Olaylarına Dayalı Programlama

Konak kontrollerinin Office nesnelerini genişletmesinin bir yolu olaylar eklemektir.Örneğin, Excel'deki Range nesnesi ve Word'deki Bookmark nesnesinin olayları yoktur fakat Office çalışma zamanı için Visual Studio Araçları bu nesneleri programlanabilir olaylar ekleyerek genişletir.Erişebilir ve bu olaylara karşı aynı kod yolu Windows Forms denetimlerindeki olaylara erişin: olay aşağı açılan listesinde Visual Basic ve C# [NULL]'ta olay özellik sayfası üzerinden.Daha fazla bilgi için bkz. İzlenecek Yol: NamedRange Denetimi Olaylarına Karşı Programlama.

[!NOT]

Excel'de Application nesnesinin EnableEvents özelliğini false olarak ayarlamamalısınız.Bu özelliği false olarak ayarlamak Excel'i konak kontrolü dahil herhangi bir olayı meydana getirmekten alıkoyar.

Ayrıca bkz.

Kavramlar

Konak Denetimlerinin ve Konak Öğelerinin Programlama Sınırlamaları

Genişletilmiş Nesneleri Kullanarak Word'ü Otomatikleştirme

Genişletilmiş Nesneleri Kullanarak Excel'i Otomatikleştirme

Diğer Kaynaklar

Uygulama Düzeyi Eklentileri Programlama

Belge Düzeyi Özelleştirmelerini Programlama

Office Belgelerindeki Denetimler

Office Çözümlerinde Verileri Denetimlere Bağlama