Çalışma zamanında Office belgelere denetim ekleme
Şunlar için geçerlidir:Visual Studio Mac için Visual Studio
Visual Studio Code
Çalışma zamanında Microsoft Office bir Word belgesine ve Microsoft Office Excel çalışma kitabına denetimler ekleyebilirsiniz. Bunları çalışma zamanında da kaldırabilirsiniz. Çalışma zamanında eklediğiniz veya kaldırdığınız denetimlere dinamik denetimler adı verilir.
Ş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 uygulama ve proje türüne göre kullanılabilen özellikler.
Bu konuda aşağıdakiler açıklanmaktadır:
Denetim koleksiyonlarını kullanarak çalışma zamanında denetimleri yönetme
Çalışma zamanında denetim eklemek, almak veya kaldırmak için ve ControlCollection nesnelerinin ControlCollection yardımcı yöntemlerini kullanın.
Bu nesnelere erişme şekliniz, geliştirmekte olduğunuz projenin türüne bağlıdır:
Excel için belge düzeyi projesinde Controls ,
Sheet2
veSheet3
sınıflarınınSheet1
özelliğini kullanın. Bu sınıflar hakkında daha fazla bilgi için bkz. Çalışma sayfası konak öğesi.Word için belge düzeyi projesinde Controls sınıfının özelliğini
ThisDocument
kullanın. Bu sınıf hakkında daha fazla bilgi için bkz . Belge konak öğesi.Excel veya Word için bir VSTO Eklentisi projesinde, çalışma zamanında oluşturduğunuz veya WorksheetDocument özelliğini kullanın
Controls
. Bu nesneleri çalışma zamanında oluşturma hakkında daha fazla bilgi için bkz. Çalışma zamanında VSTO Eklentilerinde Word belgelerini ve Excel çalışma kitaplarını genişletme.
Denetim ekleme
ControlCollection ve ControlCollection türleri, belgelere ve çalışma sayfalarına konak denetimleri ve ortak Windows Forms denetimleri eklemek için kullanabileceğiniz yardımcı yöntemleri içerir. Her yöntem adı biçim Add
denetim sınıfına sahiptir. Burada denetim sınıfı , eklemek istediğiniz denetimin sınıf adıdır. Örneğin, belgenize denetim NamedRange eklemek için yöntemini kullanın AddNamedRange .
Aşağıdaki kod örneği, Excel için belge düzeyi projesinde öğesine ekler NamedRangeSheet1
.
Excel.Range range1 = Globals.Sheet1.Range["A1", "D5"];
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
Globals.Sheet1.Controls.AddNamedRange(range1, "ChartSource");
Denetimlere erişme ve denetimleri silme
Tasarım zamanında eklediğiniz denetimler de dahil olmak üzere belgenizdeki tüm denetimlerde yineleme yapmak için veya WorksheetDocument özelliğini kullanabilirsinizControls
. Tasarım zamanında eklediğiniz denetimlere statik denetimler de denir.
Denetimin Delete
yöntemini çağırarak veya her Denetim koleksiyonunun yöntemini çağırarak Remove
dinamik denetimleri kaldırabilirsiniz. Aşağıdaki kod örneği, Remove Excel için belge düzeyindeki bir projeden Sheet1
öğesini kaldırmak NamedRange için yöntemini kullanır.
Çalışma zamanında statik denetimleri kaldıramazsınız. Statik denetimi kaldırmak için veya Remove
yöntemini kullanmaya Delete
çalışırsanız, bir CannotRemoveControlException oluşturulur.
Not
Belgenin olay işleyicisindeki Shutdown
denetimleri program aracılığıyla kaldırmayın. Olay tetiklendiğinde Shutdown
belgenin kullanıcı arabirimi öğeleri artık kullanılamaz. Belge kapanmadan önce denetimleri kaldırmak istiyorsanız, kodunuzu Word veya gibi BeforeCloseBeforeSave başka bir olayın olay işleyicisine veya BeforeCloseBeforeSave Excel için ekleyin.
Belgelere konak denetimleri ekleme
Belgelere program aracılığıyla konak denetimleri eklediğinizde, denetimi benzersiz olarak tanımlayan bir ad sağlamanız ve denetimin belgede nereye ekleneceğini belirtmeniz gerekir. Belirli yönergeler için aşağıdaki konulara bakın:
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 Grafik denetimleri ekleme
Nasıl yapılır: Word belgelerine Yer İşareti denetimleri ekleme
Konak denetimleri hakkında daha fazla bilgi için bkz . Konak öğelerine ve konak denetimlerine genel bakış.
Bir belge kaydedilip kapatıldığında, dinamik olarak oluşturulan tüm konak denetimlerinin olaylarıyla bağlantısı kesilir ve veri bağlama işlevlerini kaybederler. Belge yeniden açıldığında konak denetimlerini yeniden oluşturmak için çözümünüze kod ekleyebilirsiniz. Daha fazla bilgi için bkz. Office belgelerde dinamik denetimleri kalıcı hale getir.
Not
Bu denetimler belgelere program aracılığıyla eklenemediğinden, aşağıdaki konak denetimleri için yardımcı yöntemler sağlanmaz: XmlMappedRange, XMLNodeve XMLNodes.
Belgelere Windows Forms denetimleri ekleme
Belgeye program aracılığıyla Windows Forms denetimi eklediğinizde, denetimin konumunu ve denetimi benzersiz olarak tanımlayan bir ad sağlamanız gerekir. Office için Visual Studio Araçları çalışma zamanı her denetim için yardımcı yöntemler sağlar. Denetimin konumu için bir aralık veya belirli koordinatlar geçirebilmeniz için bu yöntemler aşırı yüklenmiştir.
Belge kaydedilip kapatıldığında, dinamik olarak oluşturulan tüm Windows Forms denetimleri belgeden kaldırılır. Belge yeniden açıldığında denetimleri yeniden oluşturmak için çözümünüze kod ekleyebilirsiniz. VSTO Eklentisi kullanarak dinamik Windows Forms denetimleri oluşturursanız, denetimler için ActiveX sarmalayıcıları belgede kalır. Daha fazla bilgi için bkz. Office belgelerde dinamik denetimleri kalıcı hale getir.
Not
Windows Forms denetimleri korumalı belgelere program aracılığıyla eklenemez. Word belgesinin veya Excel çalışma sayfasının korumasını program aracılığıyla kaldırarak denetim eklerseniz, belge kapatıldığında denetimin ActiveX sarmalayıcısını kaldırmak için ek kod yazmanız gerekir. Denetimin ActiveX sarmalayıcı korumalı belgelerden otomatik olarak silinmez.
Özel denetim ekleme
Özel kullanıcı denetimi gibi kullanılabilir yardımcı yöntemler tarafından desteklenmeyen bir eklemek Control istiyorsanız aşağıdaki yöntemleri kullanın:
Excel için bir ControlCollection nesnenin AddControl yöntemlerinden birini kullanın.
Word için bir nesnenin AddControl yöntemlerinden ControlCollection birini kullanın.
Denetimi eklemek için , denetimi için bir konum ve yöntemine denetimi
AddControl
benzersiz olarak tanımlayan bir ad geçirinControl. yöntemi,AddControl
denetimin çalışma sayfası veya belgeyle nasıl etkileşim kurduğunu tanımlayan bir nesne döndürür.AddControl
yöntemi bir ControlSite (Excel için) veya bir ControlSite nesne (Word için) döndürür.Aşağıdaki kod örneği, belge düzeyinde bir Excel projesindeki AddControl çalışma sayfasına dinamik olarak özel kullanıcı denetimi eklemek için yönteminin nasıl kullanılacağını gösterir. Bu örnekte, kullanıcı denetimi olarak adlandırılır
UserControl1
ve Range adı da olarak adlandırılırrange1
. Bu örneği kullanmak için projedeki nSheet
sınıfından çalıştırın.
Özel denetimlerin üyelerini kullanma
Çalışma sayfasına veya belgeye denetim eklemek için yöntemlerden birini AddControl
kullandıktan sonra iki farklı denetim nesnesine sahip olursunuz:
Control Özel denetimi temsil eden.
Çalışma
ControlSite
sayfasına veyaOLEControl
belgeye eklendikten sonra denetimi temsil eden ,OLEObject
veya nesnesi.Bu denetimler arasında birçok özellik ve yöntem paylaşılır. Uygun denetim aracılığıyla bu üyelere erişmeniz önemlidir:
Yalnızca özel denetime ait üyelere erişmek için kullanın Control.
Denetimler tarafından paylaşılan üyelere erişmek için ,
OLEObject
veyaOLEControl
nesnesini kullanınControlSite
.öğesinden paylaşılan bir üyeye Controlerişirseniz, uyarı veya bildirimde bulunmadan başarısız olabilir veya geçersiz sonuçlar verebilir. Gereken yöntem veya özellik kullanılamadığı sürece, her zaman ,
OLEObject
veyaOLEControl
nesnesinin yöntemlerini veya özellikleriniControlSite
kullanın; yalnızca o zaman başvuruda Controlbulunmanız gerekir.Örneğin, hem sınıfın ControlSite hem de sınıfın Control bir
Top
özelliği vardır. Denetimin üst ve belgenin üstü arasındaki mesafeyi almak veya ayarlamak için özelliğinin değil Top özelliğini kullanın TopControlSite.Control
Ayrıca bkz.
- Office belgelerdeki denetimler
- Office belgelerde dinamik denetimleri kalıcı hale getir
- 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 Grafik denetimleri ekleme
- Nasıl yapılır: Word belgelerine içerik denetimleri ekleme
- Nasıl yapılır: Word belgelerine Yer İşareti denetimleri ekleme
- Office belgelerde denetimlere genel bakış Windows Forms
- Nasıl yapılır: Office belgelere Windows Forms denetimleri ekleme