Çalışma zamanında Office belgelerine denetim ekleme
Çalışma zamanında bir Microsoft Office 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 uygulaması 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ındaki denetimleri yönetin.
Belgelere konak denetimleri ekleyin.
Belgelere Windows Forms denetimleri ekleyin.
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üzeyindeki bir projede 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üzeyindeki bir projede 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 Eklenti 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
denetimi 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 silme
Tasarım zamanında eklediğiniz denetimler de dahil olmak üzere belgenizdeki tüm denetimleri yinelemek 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, Excel için belge düzeyindeki bir projeden öğesini kaldırmak NamedRangeSheet1
için yöntemini kullanırRemove.
Ç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 BeforeSaveBeforeCloseveya veya Excel gibi BeforeCloseBeforeSave başka bir olayın olay işleyicisine 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 belge üzerinde denetimin 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ış.
Belge kaydedildiğinde ve kapatıldığında, dinamik olarak oluşturulan tüm konak denetimlerinin olayları 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 belgelerinde 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öntemleri sağlanmaz: XmlMappedRange, XMLNodeve XMLNodes.
Belgelere Windows Forms denetimleri ekleme
Belgeye program aracılığıyla bir Windows Forms denetimi eklediğinizde, denetimin konumunu ve denetimi benzersiz olarak tanımlayan bir ad sağlamanız gerekir. Office çalışma zamanı için Visual Studio Araçları 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üklenir.
Bir belge kaydedildiğinde ve 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 bırakılır. Daha fazla bilgi için bkz . Office belgelerinde dinamik denetimleri kalıcı hale getir.
Not
Windows Forms denetimleri korumalı belgelere program aracılığıyla eklenemez. Denetim eklemek için bir Word belgesinin veya Excel çalışma sayfasının korumasını program aracılığıyla kaldırırsanız, belge kapatıldığında denetimin ActiveX sarmalayıcısını kaldırmak için ek kod yazmanız gerekir. Denetimin ActiveX sarmalayıcısı 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 nesnenin AddControl yöntemlerinden ControlCollection birini kullanın.
Word için bir nesnenin AddControl yöntemlerinden ControlCollection birini kullanın.
Denetimi eklemek için, denetimin Controlkonumunu ve denetimi yöntemine benzersiz olarak tanımlayan
AddControl
bir ad geçirin. 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 projesinde 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 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. Bu üyelere uygun denetim aracılığıyla 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 üretebilir. Gereken yöntem veya özellik kullanılamadığı sürece, her zaman ,
OLEObject
veyaOLEControl
nesnesinin yöntemlerini veya özellikleriniControlSite
kullanın; yalnızca o zaman öğesine başvurmanız Controlgerekir.Örneğin, hem sınıfın ControlSite hem de sınıfın Control bir
Top
özelliği vardır. Denetimin üst kısmıyla belgenin üst kısmı arasındaki uzaklığı almak veya ayarlamak için özelliğini değil Top özelliğini kullanın TopControlSite.Control
İlgili içerik
- Office belgelerindeki denetimler
- Office belgelerinde 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 belgelerindeki Windows Forms denetimlerine genel bakış
- Nasıl yapılır: Office belgelerine Windows Forms denetimleri ekleme
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin