Aracılığıyla paylaş


Office Belgerindeki Windows Forms Denetimleri Sınırlamaları

Microsoft Office Word belgelerine veya Microsoft Office Excel çalışma sayfalarına eklenen Windows Forms denetimleri ve Windows Forms'a eklenen Windows Forms denetimleri arasında farklılıklar vardır. Örneğin, Button denetimini belgeye eklediğinizde, Dock, Anchor ve TabIndex gibi özellikler, beklediğiniz gibi davranmayabilir.

Bu değişikliklerin çoğu, Windows Forms denetimlerinin belgelerde konumlandırılma yolundan kaynaklanır. Belgeye bir Windows Forms denetimi eklendiğinde, Visual Studio Tools for Office çalışma zamanı modülü belgedeki Windows Forms denetiminde bulundurulan ActiveX denetimini tümleştirir. Windows Forms denetimi, belgeye doğrudan tümleştirilmez.

Uygulama alanı: Bu konudaki bilgiler şu uygulamaların belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir: Excel 2007 ve Excel 2010; Word 2007 ve Word 2010. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Windows Forms Denetimlerinin Yöntemleri ve Özelliklerindeki Sınırlamalar

Windows Forms'da çalıştıkları gibi belgede çalışmayan, Windows Forms denetimlerinin birçok yöntemi ve özelliği vardır, bu yüzden onların kullanılmaması önerilir. Örneğin, Dock ve Anchor gibi özellikleri ayarlamak, sadece denetimin belge yerine, kapsayıcı ActiveX denetimine göre konumunu etkiler. Aşağıdaki, Word ve Excel için Windows Forms denetimlerinin desteklenmeyen yöntemleri ve özelliklerinin bir listesidir.

  • Excel denetimlerinin desteklenmeyen yöntemleri ve özellikleri:

    • Anchor

    • Dock

    • Location

    • TabIndex

    • TabStop

    • TopLevelControl

  • Word denetimlerinin desteklenmeyen yöntemleri ve özellikleri:

    • Hide

    • Show

    • Anchor

    • Dock

    • Location

    • TabIndex

    • TabStop

    • TopLevelControl

    • Visible

Word belgesindeki metinde aynı satırda olan Windows Forms denetimlerinin Left veya Top özelliğini ayarlayamazsınız. Windows Forms denetimleri aşağıdaki durumlarda metin ile bir satırda eklenir:

Office Belgerinde Windows Forms Denetimlerindeki Farklar

Windows Forms denetimleri, genellikle Windows Form'da yaptıkları gibi Office belgelerinde de aynı davranışlara sahiptir, fakat bazı farklılıklar mevcuttur. Aşağıdaki tabloda, Office belgelerindeki Windows Forms denetimleri için varolan farklar anlatılır.

İşlevsellik

Farklar

Sekme düzenini denetleme

Excel çalışma sayfası veya Word belgesinde bulunan denetimlerde klavye kısayolu kullanarak dolaşamazsınız.

Gruplamayı denetleme

GroupBox denetimini, Office belgesindeki diğer denetimleri içermesi için kullanamazsınız. Belgeye birden çok radyo düğmesini doğrudan eklediğinizde, radyo düğmeleri ayrı ayrı çalışmaz. Radyo düğmelerini ayrı ayrı çalışır yapmak için kod yazabilirsiniz; ama tercih edilen yaklaşım, radyo düğmelerini kullanıcı denetimine ekleyip sonra da belgeye eklemektir. Daha fazla bilgi için Office Geliştirme Örnekleri ve İzlenecek Yollar linlindeki Word Denetimleri Örneği veya Excel Denetimleri Örneği'ne bakınız.

Kontrol tipi

Belgedeki Windows Forms denetimleri, Excel çalışma sayfası veya Word belgesine özel ek işlevsellikleri denetimlere veren, Visual Studio Tools for Office çalışma zamanı modülü tarafından sağlanan bir sınıfla çevrilidir. Örneğin, Excel çalışma sayfasında Button denetimine sahipseniz, nesneye başvuru yaparken veya onu dönüştürürken, türü System.Windows.Forms.Button yerine Microsoft.Office.Tools.Excel.Controls.Button olarak belirttiğinize emin olun.

Konumu ve boyutu denetleme

Denetimin boyut ve konumu, kapsayıcı ActiveX denetiminin parçası olan özellikler tarafından belirlenir. ActiveX denetimi özellikleri, Windows Forms denetimlerinin eşdeğer özelliklerinden farklı değerler alır. Denetimin Top, Left, Height veya Width özelliklerini ayarladığınızda, piksel yerine noktalar olarak ölçülürler.

Word belgesindeki konumu denetleme

Eğer denetimleri akış tabanlı düzene ekleniyorsa, denetimlerin içerik değiştiğinde, içerikle akacağını aklınızdan çıkarmayın. Denetimi, Araç Kutusu'ndan sürüklediğinizde paragrafa bağlayamazsınız çünkü denetim Word belgesine metinle birlikte bir satırda eklenir. Eğer denetimi eklemek için denetimi çift tıklamak gibi başka bir yöntem kullanırsanız, denetim resim eklemek için önceden ayarladığınız Word seçeneğine göre eklenir.

Metinle birlikte satır içinde olan denetimin Left veya Top özelliğini ayarlayamazsınız.

Denetimleri, üstbilgi veya altbilgi içinde veya alt belgede konumlandıramazsınız.

Olayları denetleme

Denetim seçildiğinde, aşağıdaki sırada olaylar oluşur:

  1. Enter

  2. GotFocus

Denetimin seçimi kaldırıldığında, aşağıdaki sırada olaylar oluşur:

  1. Leave

  2. Validating

  3. Validated

  4. LostFocus

Ölçeklendirmeyi denetleme

Belgenin yakınlaştırma ayarını %100'den başka bir değere değiştirdiğinizde, denetimler belgeyle birlikte ölçekledirmek için görünse de devre dışıdır. Örneğin, eğer belge %130 yakınlaştırmadayken bir düğmeyi tıklattığınızda, yakınlaştırma %100 olarak ayarlanana kadar denetimin devre dışı kalacağını belirten bir ileti görünür. Denetimler, siz yakınlaştırmayı %100'e değiştirdiğinizde doğru çalışırlar.

Özellik değerlerini denetleme

Windows Form'daki denetimlerin özellikleri tamsayı değerine ayarlansa bile, Word belgesinde denetimler için single'a ayarlanırlar. Excel'de denetimlerin özellik değerleri double'a ayarlanır. Eğer çalışma sayfasındaki Height ve Width özelliği çalışma sayfasının veya ekranın boyutunu aşarsa, değer kısaltılır.

Yeniden boyutlandırmayı denetleme

Eğer belgedeki denetimi sekiz boyutlama işleyicilerinden biriyle yeniden boyutlandırırsanız, yeni denetim boyutları denetimin yeniden seçilene kadar Özellikler penceresinde yansıtımaz.

Davranışı denetleme

Excel çalışma sayfasındaki denetimler, çalışma sayfası penceresi ayrıldığında önceden tahmin edilemeyecek şekilde davranabilir. Örneğin, çalışma sayfasındaki TextBox'a erişim sadece pencerelerin birinde kullanılabilir olabilir.

İsimlendirmeyi Denetleme

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

Denetimleri programlı olarak ekleme

Denetimlerin yapıcısını çalışma zamanında belgeye denetim eklemek için kullanmayın. Onun yerine, Visual Studio Tools for Office çalışma zamanı modülü tarafından sağlanan yardımcı yöntemlerini kullanın. Örneğin, çalışma sayfasına bir düğme eklemek için AddButton yöntemini kullanın. Bu yardımcı yöntemler tarafından desteklenmeyen bir denetim eklemek istiyorsanız, AddControl yöntemini kullanabilirsiniz. Daha fazla bilgi için bkz. Belgeye Çalışma Zamanında Denetim Ekleme.

Denetimleri Kopyalama

Eğer Windows Forms denetimini kopyalarsanız ve çalışma zamanında bir belgeye yapıştırırsanız, boş bir kapsayıcı ActiveX denetimi belgeye yapıştırılır. Windows Forms denetimi, yeni konumda görünmez ve özgün denetimin arkasındaki kod kapsayıcı ActiveX denetimine kopyalanmaz.

Belge Düzeyi Projelerindeki Sınırlamalar

Belgelerdeki Windows Forms denetimlerini kullanmanın sınırlamaları belge düzeyi projelerine özeldir.

Tasarım Zamanında Desteği Denetleme

Bazı Windows Forms denetimleri, Excel çalışma sayfası veya Word belgesi Visual Studio tasarımcısında açık olduğunda Araç Kutusu'ndan kaldırılır. Bunun nedeni teknik sınırlamalar veya işlevselliğin Word veya Excel'de zaten olmasıdır. Excel ve Word projeleri, belge odağa sahip olduğunda tüm Windows Firms denetimlerini ve Araç Kutusu'ndaki diğer bileşenleri destekler ve üçüncü taraf denetimlerini çalışma sayfasına veya belgeye ekleyebilirsiniz.

Not

Tüm denetimler de Araç Kutusu'ndan, belge korunduğunda kaldırılır. Belge koruması hakkında bilgi için, bkz. Belge Düzeyi Çözümlerde Belge Koruması.

Not

Üçüncü taraf denetimlerinde, Office çözümünde kullanılabilmesi için ComVisibleAttribute özniteliğinin true olarak ayarlanmış olması lazım.

Aşağıdaki denetimler ve bileşenler Araç Kutusu'nda kullanılamaz.

Eski ActiveX Denetimleri için Destek

Eğer ActiveX denetimleri içeren, varolan Word belgesi veya Excel çalışma kitabını kullanan belge düzeyi Office projesi oluşturursanız, ActiveX denetimlerinin işlevselliği kaybolmaz; ama Visual Studio içinde belgenize yeni ActiveX denetimleri eklemeniz için destek kalmaz. Örneğin, eğer Word belgeniz Denetim araç kutusundan, Visual Basic for Applications (VBA) makrosu içeren bir düğmeye sahipse, belge Office projesinde kullanıldıktan sonra da makro çalışmaya devam eder. Fakat, ActiveX denetimlerini ve VBA denetimlerini kaldırmanız ve onları Windows Forms denetimleri ve yönetilen kodla değiştirmeniz tavsiye edilir.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Office Belgelerine Windows Forms Denetimleri Ekleme

Kavramlar

Office Belgerindeki Windows Forms Denetimlerine Genel Bakış

Belgeye Çalışma Zamanında Denetim Ekleme

Diğer Kaynaklar

Office Belgeleri Üzerinde Denetimler