Aracılığıyla paylaş


İçerik Denetimleri

İçerik denetimleri şu özellikleri olan belge ve şablonları tasarlamanız için bir yol sağlar:

  • Girdileri form gibi kontrol eden kullanıcı arabirimi (KA) .

  • Belgenin veya şablonun korumalı bölümlerini düzenlemeyi engelleyen kısıtlamalar. Daha fazla bilgi için, bkz. İçerik Denetimleri Kullanarak Belgelerin Bölümlerini Koruma.

  • Veri kaynağına veri bağlama. Daha fazla bilgi için, bkz. İçerik Kontrollerine Veri Bağlama.

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

Mürekkepten videoya İlgili video için gösteri Veri bağlama Word 2007 içerik denetimleri kullanarak Visual Studio Araçları Office sistemi (3.0).

İçerik Denetimlerine Genel Bakış

İçerik denetimleri kullanıcı girdi ve çıktısı için iyileştirilmiş KA sağlar. Bir belgeye içerik denetimleri eklediğinizde, denetim bir kenarlık, başlık ve kullanıcı için yönerge sağlayan geçici yazı ile tanımlanır. Denetim kenarlığı ve başlığı belgenin yazdırılmış sürümünde gözükmez.

Örneğin, kullanıcının belgenize tarih bölümü eklemesini istiyorsanız, belgenize tarih seçici içerik denetimi ekleyebilirsiniz. Kullanıcı, denetime tıkladığında standart tarih seçici KA belirir. Görüntülenen bölgesel takvimi kurmak ve tarih biçimini belirlemek için denetim özelliklerini ayarlayabilirsiniz. Kullanıcı bir tarih seçtikten sonra denetim KA gizlenir ve tarih sadece eğer kullanıcı belgeyi yazdırırsa gözükür.

İçerik denetimleri aynı zamanda aşağıdakileri yapmanıza yardım eder:

  • Kullanıcıların belgenin bölümlerini düzenlemelerini veya silmelerini engeller. Bu, belgenizde veya şablonunuzda kullanıcıların okuyabildiği fakat düzenleyemediği bilgileriniz varken veya kullanıcıların içerik denetimlerini düzenlemelerini istiyorken bu denetimleri silmelerini istemediğiniz zaman yararlıdır.

  • Bir belgenin veya şablonun bölümlerini veriye bağlama. İçerik denetimlerini veritabanı alanlarına, .NET Framework'ta yönetilen nesnelere, belgenizde veya diğer veri kaynaklarında saklanan XML öğelerine bağlayabilirsiniz.

Belge düzeyi projelerinde içerik denetimlerini belgenize tasarım veya çalışma anında ekleyebilirsiniz. Belge düzeyi projeleri uygulamarında içerik denetimlerini herhangi bir açık belgeye çalışma anında ekleyebilirsiniz. Daha fazla bilgi için bkz. Nasıl Yapılır: Word Belgelerine İçerik Denetimi Ekleme.

Not

İçerik denetimlerini sadece Open XML biçiminde kaydedilmiş belgelerde kullanabilirsiniz. İçerik denetimlerini Word 97-2003 (.doc) belgesi biçiminde kaydedilmiş belgelerde kullanamazsınız.

İçerik Denetim Türleri

Belgelere ekleyebileceğiniz İçerik denetimlerine dokuz farklı türleri vardır. Çoğu İçerik denetimlerine sahip bir karşılık gelen türü Microsoft.Office.Tools.Word ad. Genel de kullanabilirsiniz ContentControl, hangi gösteren herhangi bir kullanılabilir içerik denetimleri. Bu kullanılabilir içerik denetimlerini nasıl kullanacağınızı gösteren izlenecek yollar için, bkz. İzlenecek Yol: İçerik Denetimlerini Kullanarak Şablon Yaratma.

Yapı Taşı Galerisi

Yapı taşı galerisi kullanıcıların belgelerine eklemek için yapı taşı belgesi listesinden seçmesine olanak sağlar. Yapı taşı belgesi yaygın bir kapak sayfası, biçimlendirilmiş tablo veya üstbilgi gibi birçok kez kullanılmak üzere oluşturulmuş bir içerik parçasıdır. Daha fazla bilgi için bkz. BuildingBlockGalleryContentControl türü. Yapı taşları hakkında daha fazla bilgi için, bkz. Geliştiriciler için Word 2007'de Ne Yeni.

Onay Kutusu

Bir onay kutusu, ikili bir durumu temsil eden bir kullanıcı Arabirimi sağlar: seçilir veya temizlenir. Bu tür bir içerik denetimi yalnızca Word 2010 kullanılabilir.

İçerik denetimleri, diğer tür aksine Visual Studio Tools for Office çalışma zamanı modülü sağlamaz belirli bir türü temsil eden bir onay kutusu içerik denetimi. Başka bir deyişle, yok yok CheckBoxContentControl türü. Ancak, yine de onay kutusu içerik denetimi genel ekleyerek oluşturabilirsiniz ContentControl bir belgeye programlı. Daha fazla bilgi için bkz: Onay kutusu içerik denetimleri Word 2010 projelerde.

Birleşik Giriş Kutusu

Birleşik giriş kutusu kullanıcının seçebileceği öğelerin listesini görüntüler. Birleşik giriş kutusu açılan listenin tersine kullanıcının kendi öğelerini eklemesine olanak sağlar. Daha fazla bilgi için bkz. ComboBoxContentControl türü.

Tarih Seçici

Tarih seçici bir tarih seçmek için takvim KA sağlar. Takvim, son kullanıcı denetimdeki açılan oka tıkladığında belirir. Bölgesel takvimler ve farklı tarih biçimleri kullanabilirsiniz. Daha fazla bilgi için bkz. DatePickerContentControl türü.

Açılan Liste

Açılan liste kullanıcının seçebileceği öğelerin listesini görüntüler. Açılan liste birleşik giriş kutusunun tersine kullanıcının kendi öğelerini eklemesine veya düzenlemesine izin vermez. Daha fazla bilgi için bkz. DropDownListContentControl türü.

Group

Grup denetimi, kullanıcının belgede düzenleyemeceği veya silemeyeceği korumalı bir bölge tanımlar. Grup denetimi metin, tablo, grafik ve diğer içerik denetimleri gibi herhangi bir belge öğesi içerebilir. Daha fazla bilgi için bkz. GroupContentControl türü.

Resim

Bir görüntüyü gösteren resim denetimi. Görüntüyü tasarım yada çalışma anında belirleyebilirsiniz veya kullanıcılar bu denetimi bir görüntüyü belgeye eklemek için tıklayabilirler. Daha fazla bilgi için bkz. PictureContentControl türü.

Zengin Metin

Zengin metin denetimi yazı yada tablo, resim veya diğer içerik denetimleri gibi öğeler içerir. Daha fazla bilgi için bkz. RichTextContentControl türü.

Düz Metin

Düz metin denetimi yazı içerir. Düz metin denetimi tablo, resim veya diğer içerik denetimleri gibi öğeler içeremez. Buna ek olarak, düz metin denetimindeki tüm yazılar aynı tarz biçimlendirmeye sahiptir. Örneğin, düz metin denetimindeki cümlenin bir kelimesini italik yaparsanız, denetimdeki tüm yazı italik yapılır. Daha fazla bilgi için bkz. PlainTextContentControl türü.

Genel içerik denetimi

Genel içerik denetimi bir ContentControl nesnesi, temsil herhangi türde kullanılabilir içerik denetimleri. ContentControl nesnesini farklı bir tür gibi davranması için Type özelliğini kullanarak değiştirebilirsiniz. Örneğin, eğer düz metin denetimini temsil eden ContentControl nesnesini oluşturursanız, bu nesneyi çalıştırma anında birleşik giriş kutusu gibi davranması için değiştirebilirsiniz.

ContentControl nesnelerini tasarım anında değil ama çalıştırma anında oluşturabilirsiniz. Daha fazla bilgi için bkz. Nasıl Yapılır: Word Belgelerine İçerik Denetimi Ekleme.

İçerik Denetimlerinin Ortak Özellikleri

Birçok içerik denetimi ortak görevleri gerçekleştirmek için kullanabileceğiniz bir üye kümesi paylaşır. Aşağıdaki tablo bu üyeleri kullanarak gerçekleştirebileceğiniz bazı görevleri tanımlar.

Bu görev için:

Bunu yapın:

Denetimde görüntülenen metni alın veya ayarlayın.

Text özelliğini kullanın.

NotNot
PictureContentControl ve ContentControl türleri bu özelliğe sahip değildir.

Bir kullanıcı denetimi düzenleyene kadar denetimde görüntülenen geçici yazıyı alın veya ayarlayın, denetim veri kaynağından gelen veri ile doldurulur veya denetimin içeriği silinir.

PlaceholderText özelliğini kullanın.

NotNot
PictureContentControl türü bu özelliğe sahip değildir.

Kullanıcı kenarlığa tıkladığında içerik denetiminin kenarlığında görüntülenen başlığı alın veya ayarlayın.

Title özelliğini kullanın.

Kullanıcı denetimi düzenledikten sonra belgeden otomatik olarak kaldırın. (Denetimdeki metin belgede kalır.)

Temporary özelliğini kullanın.

Kullanıcı içerik denetimine tıkladığında veya program aracılığı ile imleç içerik denetimine hareket ettiği zaman kodu çalıştırın.

Denetimin Entering olayını işleyin.

Kullanıcı içerik denetiminin dışına tıkladığında veya imleç program aracılığı ile içerik denetimi dışına hareket ettiğinde kodu çalıştırın.

Denetimin Exiting olayını işleyin.

İçerik denetimi yineleme veya geri alma işlemiyle belgeye eklendikten sonra kodu çalıştırın.

Denetimin Added olayını işleyin.

İçerik denetimi belgeden silinmeden hemen önce kodu çalıştırın.

Denetimin Deleting olayını işleyin.

İçerik Denetimlerini Kullanarak Belge Bölümlerini Koruma

Belgenin bir bölümünü koruduğunuzda kullanıcıların belgenin o korunmuş bölümündeki içeriği degiştirmelerini veya silmelerini engellemiş olursunuz. İçerik kontrollerini kullanarak belgenin bölümlerini koruyabileyeceğiniz birçok yol var.

Eğer korumak istediğiniz alan içerik denetiminin içinde ise kullanıcının denetimi düzenlemesini veya silmesini engellemek için içerik denetimi özelliklerini kullanabilirsiniz.

  • LockContents özelliği kullanıcının içeriği düzenlemesini engeller.

  • LockContentControl özelliği kullanıcının içeriği silmesini engeller.

Eğer korumak istediğiniz alan içerik denetiminin içinde değilse veya içerik denetimi yada diğer içerik türlerini içeren bir alanı korumak istiyorsanız, tüm alanı GroupContentControl içine koyabilirsiniz. GroupContentControl diğer içerik denetimlerinin tersine kullanıcıya görünür bir KA sağlamaz. Tek amacı kullanıcının düzenleyemeceği bir alan tanımlamaktır.

Not

Eğer gömülü içerik denetimi içeren bir GroupContentControl oluşturursanız, gömülü içerik denetimleri otomatik olarak korunmaz. Kullanıcının içeriği düzenlenmemesi için her gömülü denetimin LockContents özelliğini kullanmalısınız.

Belgenin bölümlerini korumayı içerik denetimleri ile nasıl kullanacağınız hakkında daha fazla bilgi için, bkz. Nasıl Yapılır: İçerik Denetimlerini Kullanarak Belge Bölümlerini Koruma

İçerik Denetimlerine Veri Bağlama

Belgelerdeki verileri, içerik denetimlerini veri kaynağına bağlayarak görüntüleyebilirsiniz. Veri kaynağı güncellendiğinde içerik denetimleri bu değişiklikleri yanısıtır. Aynı zamanda değişiklikleri veri kaynağına kaydedebilirsiniz.

İçerik denetimleri aşağıdaki veri bağlama seçeneklerini sağlar:

  • İçerik denetimlerini veritabanı alanlarına veya Windows Forms gibi aynı veri bağlama modellerini kullanarak yönetilen nesnelere bağlayabilirsiniz.

  • İçerik denetimlerini belgede gömülü XML (diğer adıyla özel XML bölümleri) öğelerine bağlayabilirsiniz.

Office çözümlerindeki konak kontrolünün veriye bağlanmasının genel bakışı için, bkz. Office Çözümlerinde Veriyi Denetime Bağlama

Windows Forms Veri Bağlama Modelini Kullanma

Birçok içerik kontrolü Windows Forms kullanan basit veri bağlama modelini destekler. Basit veri bağlama, denetimin veri tablosundaki değeri gibi tek bir veri öğesine bağlanması anlamına gelir. Daha fazla bilgi için bkz. Veri bağlama ve Windows Forms.

Belge düzeyi projelerinde Visual Studio'daki Veri Kaynağı penceresini kullanarak içerik denetimlerine veri bağlayabilirsiniz. Belgeye nasıl veri bağlama içerik denetimi ekleyeceğiniz hakkında daha fazla bilgi için, bkz. Nasıl Yapılır: Veritabanından Gelen Veriyle Belgeleri Doldurma ve Nasıl Yapılır: Nesnelerden Gelen Veriyle Belgeleri Doldurma.

Aşağıdaki tablo Veri Kaynağı penceresindeki her veri türüne bağlayabileceğiniz içerik denetimlerini listeler.

Veri türü

Varsayılan İçerik Denetimi

Bu veri türüne bağlanabilen diğer içerik denetimleri

Boolean

Byte

Char

Double

Enum

Guid

Int16

Int32

Int64

SByte

Single

String

TimeSpan

UInt16

UInt32

UInt64

PlainTextContentControl

BuildingBlockGalleryContentControl

ComboBoxContentControl

DatePickerContentControl

RichTextContentControl

DateTime

DatePickerContentControl

BuildingBlockGalleryContentControl

ComboBoxContentControl

PlainTextContentControl

RichTextContentControl

Image

Bytearray[0] = "42";

PictureContentControl

Hiçbiri

Belge ve uygulama düzeyi projelerinde, denetimin DataBindings özelliğinin Add() metodunu kullanarak veri kaynağını program aracılığıyla içerik denetimine bağlayabilirsniz. Eğer bunu yaparsanız, Metin dizesini Add() metodunun propertyName parametresine geçirin. Text özelliği içerik denetimlerinin varsayılan veri bağlama özelliğidir.

İçerik denetimleri, denetimdeki değişikliklerin veri kaynağına güncelleştirildiği iki yönlü veri bağlamayı destekler. Daha fazla bilgi için bkz. Nasıl Yapılır: Konak Kontrolündeki Veri ile Veri Kaynağını Güncelleme.

Not

İçerik denetimleri karmaşık veri bağlamasını desteklemez. Eğer [T:Microsoft.Office.Tools.Word.DropDownListContentControlveyaT:Microsoft.Office.Tools.Word.ComboBoxContentControl]'ü Windows Forms modeli kullanarak veri kaynağına bağlarsanız, kullanıcı denetime tıkladığında sadece tek bir değer görecektir. Eğer bu içerik denetimlerini kullanıcının seçebileceği bir veri değeri kümesine bağlamak istiyorsanız, bu denetimleri özelleştirilmiş XML bölüm öğelerine bağlayabilirsiniz.

İçerik Denetimlerini Özelleşmiş XML Bölümlerine Bağlama

Bazı içerik denetimlerini belgede gömülü XML bölümü öğelerine bağlayabilirsiniz. Özelleşmiş XML bölümleri hakkında daha fazla bilgi için, bkz: Özel XML Bölümlerine Genel Bakış

İçerik denetimini özelleşmiş bir XML bölümüne bağlamak için denetimin XMLMapping özelliğini kullanın. Aşağıdaki kod örneği PlainTextContentControl'ü belgeye önceden eklenmiş, özelleşmiş Product XML bölümü düğümünün altındaki Price öğesine nasıl bağlayacağınızı gösterir.

plainTextContentControl1.XMLMapping.SetMapping("/Product/Price")
plainTextContentControl1.XMLMapping.SetMapping("/Product/Price", String.Empty, null);

İçerik denetimlerini özelleşmiş XML bölümlerine nasıl bağlayacağınız hakkında izlenecek yollar için, bkz: İzlenecek Yol: İçerik Denetimlerini Özelleşmiş XML Bölümlerine Bağlama.

Bir içerik denetimini özelleşmiş XML bölümüne bağladığınızda iki yönlü veri bağlama otomatik olarak etkinleştirilir. Eğer kullanıcı denetimdeki metni düzenlerse, buna karşılık gelen XML öğeleri de otomatik olarak güncellenir. Benzer şekilde, eğer özelleşmiş XML bölümlerindeki öğe değerleri değişirse, XML öğelerine bağlanmış içerik denetimleri yeni verileri gösterir.

Aşağıdaki içerik denetim türlerini özelleşmiş XML bölümlerine bağlayabilirsiniz:

İçerik Denetimleri için Veri Bağlama Olayları

Tüm içerik denetimleri, denetimdeki bir metinin veri kaynağına güncellenmeden önce belli ölçütlere uyduğunu doğrulayan veri ile alakalı görevleri gerçekleştirmeniz için bir olaylar kümesi sağlar. Aşağıdaki tablo veri bağlama ile alakalı içerik denetimi olaylarını listeler.

Görev

Olay

Word özellemiş XML bölümüne bağlanmış metindeki içerik denetimini otomatik olarak güncellemeden önce kodu çalıştırın.

ContentUpdating

Word içerik denetimine bağlanmış (içerik denetimindeki metin değiştikten sonra) özellemiş XML bölümü değerini otomatik olarak güncellemeden önce kodu çalıştırın.

StoreUpdating

Denetimin içeriğini özellemiş ölçütlere göre doğrulamak için kendi kodunuzu çalıştırın.

Validating

Kodu denetimin içeriği başarı ile doğrulandıktan sonra çalıştırın.

Validated

İçerik Denetimlerinin Sınırlamaları

Office projelerinizde içerik denetimlerini kullanırken aşağıdaki sınırlamalara dikkat edin.

Tasarım ve Çalıştırma Anı Arasındaki Davranış Farkları

Microsoft Office Word'ün içerik denetimlerine çalıştırma anında dayattığı birçok sınırlama tasarım anında dayatılmaz. Visual Studio da belge düzeyi çözümlerinin KA'nü tasarlarken, sadece çalıştırma anında desteklenen içerik denetimlerini değiştirdiğinizden emin olun.

Eğer içerik denetimini tasarımda çalıştırma anında desteklenmeyecek şekilde değiştirirseniz, Visual Studio tasarımcısı desteklenmeyen değişiklikler hakkında uyarıda bulunmaz. Yinede, hata ayıklarken veya projeyi çalıştırırken yada eğer projeyi saklar ve yeniden açarsanız, Word belgeyi onarmak için sizden izin isteyen bir hata mesajı görüntüleyecektir. Belgeyi onardığınzda, Word desteklenmeyen içeriği ve biçimlendirmeyi içerikten kaldırır.

Örneğin, Word tasarım anında bir tabloya PlainTextContentControl eklemenize engel olmaz. Fakat, PlainTextContentControl nesneleri çalıştırma anında tablo içeremeyeceği için belge açıldığında Word hata mesajı görüntüler.

Ayrıca unutmayın ki içerik denetimi davranışlarını tanımlayan birçok özellik tasarım anında hiçbir etkiye sahip değildir. Örneğin, içerik denetiminin LockContents özelliğini tasarım anında True olarak ayarlarsanız bile Visual Studio tasarımcısındaki denetimin metnini düzenleyebilirsiniz. Bu özellik kullanıcıların denetimi sadece çalıştırma anında düzenlemelerini engeller.

Olay Sınırlamaları

İçerik denetimleri, kullanıcı metni yada denetimdeki diğer öğeleri değiştirdiği zaman oluşan bir olay sağlamaz. Örneğin, kullanıcı DropDownListContentControl veya ComboBoxContentControl'ünden farklı bir öğe seçtiğinde hiçbir olay oluşturulmaz.

Kullanıcının içerik denetimleri içeriğini ne zaman düzenlediğini belirlemek için denetimi özel XML bölümüne bağlayabilir ve sonra da StoreUpdating olayını işleyebilirsiniz. Bu olay, kullanıcı özel XML bölümüne bağlanmış denetimin içeriğini değiştirdiğinde oluşur. İçerik denetimlerini özelleşmiş XML bölümlerine nasıl bağlayacağınız hakkında izlenecek yollar için, bkz: İzlenecek Yol: İçerik Denetimlerini Özelleşmiş XML Bölümlerine Bağlama.

Onay kutusu içerik denetimleri Word 2010 projelerde

Word 2010 gösteren bir onay kutusu içerik denetiminin yeni bir türü kullanılmaya başlandı. Ancak, Visual Studio Tools for Office çalışma zamanı modülü sağlamaz karşılık gelen CheckBoxContentControl yazısında yer Office projeleri. Bir Word 2010 projeye onay kutusu içerik denetimi oluşturmak için kullanın AddContentControl oluşturma yöntemi bir Microsoft.Office.Tools.Word.ContentControl nesne ve geçmesi wdContentControlCheckBox değer yöntemi belirtmek bir onay kutusu içerik denetimi. Aşağıdaki kod örneğinde bunun nasıl yapıldığı gösterilmiştir.

Me.Paragraphs(1).Range.InsertParagraphBefore()
Me.Paragraphs(1).Range.Select()
Dim checkBoxControl1 As Microsoft.Office.Tools.Word.ContentControl =
    Me.Controls.AddContentControl("checkBoxControl1", Word.WdContentControlType.wdContentControlCheckBox)

' The following line of code compiles in projects that target the .NET Framework 4, but it does not compile 
' in projects that target the .NET Framework 3.5.
checkBoxControl1.Checked = True

' In projects that target the .NET Framework 3.5, use the following code.
checkBoxControl1.InnerObject.Checked = True
this.Paragraphs[1].Range.InsertParagraphBefore();
this.Paragraphs[1].Range.Select();
Microsoft.Office.Tools.Word.ContentControl checkBoxControl1 = 
    this.Controls.AddContentControl("checkBoxControl1", Word.WdContentControlType.wdContentControlCheckBox);

// The following line of code compiles in projects that target the .NET Framework 4, but it does not compile 
// in projects that target the .NET Framework 3.5.
checkBoxControl1.Checked = true;

// In projects that target the .NET Framework 3.5, use the following code.
checkBoxControl1.InnerObject.Checked = true;

Not

Checked Özelliği Microsoft.Office.Tools.Word.ContentControl nesneleri kullanılabilir doğrudan hedefleyen projede .NET Framework 4. İçinde hedefleyen projeler.net Framework 3.5 kullanmanız gerekir InnerObject erişmek için özellik Checked temel özelliği Microsoft.Office.Interop.Word.ContentControl nesne. Daha fazla bilgi için bkz. Ana Bilgisayar Öğelerinin ve Ana Bilgisayar Denetimlerinin Programsal Sınırlamaları.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Word Belgelerine İçerik Denetimi Ekleme

İzlenecek Yol: İçerik Denetimlerini Kullanarak Şablon Yaratma

Kavramlar

Genişletilmiş Nesneleri Kullanarak Word'ü Otomatikleştirme

Ana Bilgisayar Öğelerinin ve Ana Bilgisayar Denetimlerinin Programsal Sınırlamaları

Diğer Kaynaklar

Office Çözümlerindeki Veri

Office Çözümlerinde Veriyi Denetime Bağlama