Konak öğelerine ve konak denetimlerine genel bakış
Şunlar için geçerlidir: Mac
için Visual Studio
Visual Studio Visual Studio Code
Konak öğeleri ve konak denetimleri, Visual Studio'daki Office geliştirme araçları kullanılarak oluşturulan Office çözümleri için programlama modeli 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çmeyi 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ı 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 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ğlayarak belirli bir belgenin olaylarını işlemenin daha kolay olmasını sağlar.
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 öğelerininDocument, Windows Forms tasarımcısı gibi belgenin veya çalışma sayfasının görsel temsili olan ilişkili tasarımcıları vardır. 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ı, tasarım yüzeyine gibi bir bileşeni 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 projelerde program aracılığıyla oluşturulamaz. Bunun yerine, Visual Studio'un ThisDocument
projenizde tasarım zamanında 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 Eklentileri'nde , 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. VSTO Eklentilerindeki Word belgelerini ve Excel çalışma kitaplarını çalışma zamanında 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:
-
Aşağıdaki konak denetimleri Word projeleri için kullanılabilir:
-
Office belgelerine eklenen konak denetimleri yerel Office nesneleri gibi davranır; ancak konak denetimleri, olaylar ve veri bağlama özellikleri de 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, NamedRange konak denetiminde 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 NamedRange denetim Worksheet yerleştirirsiniz. Aşağıdaki çizimde konak öğeleri ile 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 belgeleriyle ilgili Windows Forms denetimlerine genel bakış.
Not
Word alt belgesine konak denetimleri veya Windows Forms denetimleri ekleme desteklenmez.
Belgelerinize konak denetimleri ekleme
Belge düzeyindeki projelerde, tasarım zamanında Word belgelerinize veya Excel çalışma sayfalarınıza 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ı olan denetimleri 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
Konak denetimlerini adlandırma
Araç Kutusu'ndan belgenize bir konak denetimi sürüklediğinizde denetim, denetim türü kullanılarak otomatik olarak adlandırılır ve sonunda artımlı bir sayı olur. Ö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, Özelliklerpenceresindeki Name ö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.
Tasarım zamanında belgeye konak denetimi eklerseniz, denetimi kodda bir sonraki kullanışınızda ö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 eklenmişse öğesini başarılı bir şekilde siler NamedRange ve bu da 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 denetimlerini silinmeye karşı 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şletme yollarından biri olayları eklemektir. Örneğin, Range Excel'deki nesnede ve Bookmark Word'deki nesnede olaylar yoktur, ancak Office için Visual Studio Araçları çalışma zamanı 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ğin false olarak ayarlanması, Excel'in konak denetimlerinin olayları da dahil olmak üzere herhangi bir olay oluşturmasını engeller.
Ayrıca bkz.
- Konak öğelerinin ve konak denetimlerinin programlı sınırlamaları
- VSTO Eklentilerini Programlama
- Belge düzeyinde özelleştirmeleri programlama
- Genişletilmiş nesneler kullanarak Word'i otomatikleştirme
- Genişletilmiş nesneler kullanarak Excel'i otomatikleştirme
- Office belgelerindeki denetimler
- Office çözümlerinde denetimlere veri bağlama