Konak öğelerine ve konak denetimlerine genel bakış
Konak öğeleri ve konak denetimleri, Visual Studio'daki Office geliştirme araçları kullanılarak oluşturulan Office çözümleri için programlama modelini sağlamaya yardımcı olan türlerdir. Konak öğeleri ve konak denetimleri, Microsoft Office Word ve Microsoft Office Excel'in COM tabanlı nesne modelleriyle etkileşime geçmeyi daha çok Windows Forms denetimleri gibi yönetilen nesnelerle etkileşime geçirmeyi sağlar.
Şunlar için geçerlidir: Bu konudaki bilgiler, Excel ve Word için belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.
Konak öğeleri
Konak öğeleri, Office projelerindeki nesne modeli hiyerarşilerinin en üstünde yer alan türlerdir. Office çalışma zamanı Visual Studio Araçları, Word ve Excel çözümleri için aşağıdaki konak öğelerini tanımlar:
-
Bu türlerin her biri, yerel Office nesnesi olarak adlandırılan Word veya Excel nesne modelinde yerel olarak bulunan bir nesneyi genişletir. Örneğin, Document konak öğesi word için birincil birlikte çalışma derlemesinde tanımlanan nesnesini genişletir Document .
Konak öğeleri genellikle ilgili Office nesneleriyle aynı temel işlevlere sahiptir, ancak aşağıdaki özelliklerle geliştirilmiştir:
Konak denetimleri ve Windows Forms denetimleri de dahil olmak üzere yönetilen denetimleri barındırma özelliği.
Daha zengin olay modelleri. Yerel Word ve Excel nesne modellerindeki bazı belge, çalışma kitabı ve çalışma sayfası olayları yalnızca uygulama düzeyinde oluşturulur. Konak öğeleri bu olayları belge düzeyinde sağlar, böylece belirli bir belgenin olaylarını işlemek daha kolay olur.
Belge düzeyi projelerindeki konak öğelerini anlama
Belge düzeyindeki projelerde konak öğeleri kodunuz için bir giriş noktası sağlar ve çözümünüzü geliştirmenize yardımcı olan tasarımcıları vardır.
ve Worksheet konak öğeleri, Document Windows Forms tasarımcısı gibi belgenin veya çalışma sayfasının görsel gösterimi olan ilişkili tasarımcılara sahiptir. Belgenin veya çalışma sayfasının içeriğini doğrudan Word veya Excel'de değiştirmek ve denetimleri tasarım yüzeyine sürüklemek için bu tasarımcıyı kullanabilirsiniz. Daha fazla bilgi için bkz . Belge konak öğesi ve Çalışma sayfası konak öğesi.
Konak Workbook öğesi, kullanıcı arabirimine sahip denetimler için kapsayıcı görevi görmüyor. Bunun yerine, bu konak öğesinin tasarımcısı, gibi bir bileşeni tasarım yüzeyine sürüklemenizi sağlayan bir DataSetbileşen tepsisi olarak çalışır. Daha fazla bilgi için bkz . Çalışma kitabı konak öğesi.
Konak öğeleri belge düzeyi projelerinde program aracılığıyla oluşturulamaz. Bunun yerine, Visual Studio'nın ThisDocument
tasarım zamanında projenizde otomatik olarak oluşturduğu , ThisWorkbook
veya Sheet
n sınıflarını kullanın. Oluşturulan bu sınıflar konak öğelerinden türetilir ve kodunuz için bir giriş noktası sağlar. Daha fazla bilgi için bkz . Konak öğelerinin ve konak denetimlerinin programlı sınırlamaları.
VSTO Eklenti projelerindeki konak öğelerini anlama
VSTO Eklentisi oluşturduğunuzda, varsayılan olarak hiçbir konak öğesine erişiminiz olmaz. Ancak, çalışma zamanında Word ve Worksheet Excel VSTO Eklentilerinde , Workbookve konak öğeleri oluşturabilirsinizDocument.
Bir konak öğesi oluşturduktan sonra belgelere denetim ekleme gibi görevleri gerçekleştirebilirsiniz. Daha fazla bilgi için bkz . Çalışma zamanında VSTO Eklentilerinde Word belgelerini ve Excel çalışma kitaplarını genişletme.
Konak denetimleri
Konak denetimleri, Word ve Excel nesne modellerindeki ve Range nesneleri gibi Microsoft.Office.Interop.Word.ContentControl
çeşitli kullanıcı arabirimi (UI) nesnelerini genişletir.
Excel projeleri için aşağıdaki konak denetimleri kullanılabilir:
-
Word projeleri için aşağıdaki konak denetimleri kullanılabilir:
-
Office belgelerine eklenen konak denetimleri yerel Office nesneleri gibi davranır; ancak konak denetimleri, olaylar ve veri bağlama özellikleri dahil olmak üzere ek işlevlere sahiptir. Örneğin, Excel'de yerel Range bir nesnenin olaylarını yakalamak istediğinizde, önce çalışma sayfasının değişiklik olayını işlemeniz gerekir. Ardından, değişikliğin içinde Rangeolup olmadığını belirlemeniz gerekir. Buna karşılık, konak denetiminin NamedRange doğrudan işleyebileceğiniz bir Change olayı vardır.
Konak öğesi ile konak denetimleri arasındaki ilişki, Windows Form ve Windows Forms denetimleri arasındaki ilişkiye benzer. Windows Formu'na metin kutusu denetimi yerleştirdiğiniz gibi, bir konak öğesine de denetim Worksheet yerleştirirsinizNamedRange. Aşağıdaki çizimde konak öğeleri ve konak denetimleri arasındaki ilişki gösterilmektedir.
Windows Forms denetimlerini Doğrudan Word ve Excel belge yüzeyine ekleyerek Office çözümlerinizde de kullanabilirsiniz. Daha fazla bilgi için bkz . Office belgeleri üzerindeki Windows Forms denetimlerine genel bakış.
Not
Bir Word alt belgesine konak denetimleri veya Windows Forms denetimleri eklenmesi desteklenmez.
Belgelerinize konak denetimleri ekleme
Belge düzeyindeki projelerde, word belgelerinize veya Excel çalışma sayfalarınıza tasarım zamanında aşağıdaki yollarla konak denetimleri ekleyebilirsiniz:
Belgenize tasarım zamanında yerel nesne eklediğiniz şekilde konak denetimleri ekleyin.
Araç Kutusu'ndan konak denetimlerini belgelerinize ve çalışma sayfalarınıza sürükleyin. Excel konak denetimleri Excel projelerindeki Excel Denetimleri sekmesinde, Word konak denetimleri ise Word projelerindeki Word Denetimleri sekmesinde bulunur.
Veri Kaynakları penceresindeki konak denetimlerini belgelerinize ve çalışma sayfalarınıza sürükleyin. Bu, verilere zaten bağlı denetimler eklemenize olanak tanır. Daha fazla bilgi için bkz . Office çözümlerinde denetimlere veri bağlama.
Belge düzeyi ve VSTO Eklenti projelerinde, çalışma zamanında belgelere bazı konak denetimleri de ekleyebilirsiniz. Daha fazla bilgi için bkz . Çalışma zamanında Office belgelerine denetim ekleme.
Belgelere konak denetimleri ekleme hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Nasıl yapılır: Çalışma sayfalarına Grafik denetimleri ekleme
Nasıl yapılır: Çalışma sayfalarına ListObject denetimleri ekleme
Nasıl yapılır: Çalışma sayfalarına NamedRange denetimleri ekleme
Nasıl yapılır: Çalışma sayfalarına XMLMappedRange denetimleri ekleme
Nasıl yapılır: Word belgelerine Yer İşareti denetimleri ekleme
Ana bilgisayar denetimlerini adlandırma
Araç Kutusu'ndan belgenize bir konak denetimi sürüklediğinizde, denetim türü sonunda artımlı bir sayı ile kullanılarak otomatik olarak adlandırılır. Örneğin, yer işaretleri bookmark1, bookmark2 vb. olarak adlandırılır. Denetimi eklemek için Word veya Excel'in yerel işlevselliğini kullanırsanız, denetimi oluşturduğunuz sırada belirli bir ad verebilirsiniz. Ayrıca, Özellikler penceresindeKimlik özelliğinin değerini değiştirerek denetimlerinizi yeniden adlandırabilirsiniz.
Not
Konak denetimlerini adlandırmak için ayrılmış sözcükler kullanamazsınız. Örneğin, çalışma sayfasına denetim NamedRange ekler ve adı Sistem olarak değiştirirseniz, projeyi oluştururken hatalar oluşur.
Konak denetimlerini silme
Belge düzeyi projelerde, Excel çalışma sayfasında veya Word belgesinde denetimi seçip Delete tuşuna basarak konak denetimlerini tasarım zamanında silebilirsiniz. Ancak, denetimleri silmek NamedRange için Excel'de Ad Tanımla iletişim kutusunu kullanmanız gerekir.
Belgeye tasarım zamanında konak denetimi eklerseniz, denetimi kodda kullanmayı bir sonraki denemenizde özel durum oluştuğundan çalışma zamanında program aracılığıyla kaldırmamalısınız. Konak Delete
denetiminin yöntemi yalnızca çalışma zamanında belgeye eklenen konak denetimlerini kaldırır. Tasarım zamanında oluşturulan bir konak denetiminin yöntemini çağırırsanız Delete
, bir özel durum oluşturulur.
Örneğin, Delete yöntemi NamedRange yalnızca program aracılığıyla çalışma sayfasına eklenip eklenmediğini başarıyla siler NamedRange . Bu yöntem, dinamik olarak konak denetimleri oluşturma olarak bilinir. Dinamik olarak oluşturulan konak denetimleri, denetim adı veya Controls özelliğinin Remove
yöntemine Controls geçirilerek de kaldırılabilir. Daha fazla bilgi için bkz . Çalışma zamanında Office belgelerine denetim ekleme.
Son kullanıcılar çalışma zamanında belgeden bir konak denetimini silerse, çözüm beklenmeyen yollarla başarısız olabilir. Konak denetimlerinin silinmesini korumak için Word ve Excel'deki belge koruma özelliklerini kullanabilirsiniz. Daha fazla bilgi için bkz . Office geliştirme örnekleri ve izlenecek yollar.
Not
Belgenin veya çalışma sayfasının olay işleyicisi sırasında Shutdown
denetimleri program aracılığıyla kaldırmayın. Olay gerçekleştiğinde Shutdown
kullanıcı arabirimi öğeleri artık kullanılamaz. Uygulama kapanmadan önce denetimleri kaldırmak istiyorsanız kodunuzu veya BeforeSave
gibi BeforeClose
başka bir olay işleyicisine ekleyin.
Konak denetimi olaylarına karşı program
Konak denetimlerinin Office nesnelerini genişletmenin bir yolu olayları eklemektir. Örneğin, Range Excel'deki nesnenin ve Bookmark Word'deki nesnenin olayları yoktur, ancak Office çalışma zamanı Visual Studio Araçları programlanabilir olaylar ekleyerek bu nesneleri genişletir. Bu olaylara, Windows Forms'daki denetimlerin olaylarına eriştikleri gibi erişebilir ve kodlayabilirsiniz: Visual Basic'teki olay açılan listesi ve C# içindeki olay özelliği sayfası aracılığıyla. Daha fazla bilgi için bkz . İzlenecek yol: NamedRange denetiminin olaylarına karşı program.
Not
Excel'de EnableEvents nesnenin Application özelliğini false olarak ayarlamamalısınız. Bu özelliği false olarak ayarlamak, Excel'in konak denetimlerinin olayları da dahil olmak üzere tüm olayları oluşturmasını engeller.
İlgili içerik
- Konak öğelerinin ve konak denetimlerinin programlı sınırlamaları
- VSTO Eklentilerini Programla
- Program belge düzeyi özelleştirmeleri
- Genişletilmiş nesneler kullanarak Word'i otomatikleştirme
- Genişletilmiş nesneleri kullanarak Excel'i otomatikleştirme
- Office belgelerindeki denetimler
- Office çözümlerinde denetimlere veri bağlama