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 hedefi: Bu konudaki bilgiler, Word 2013 ve Word 2010 için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.

video bağlantısı İlgili video gösterimi için bkz: Veri bağlama için Word 2007 içerik denetimlerini kullanma için Visual Studio Araçları Office System (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 Denetimleri 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 içerik denetimlerinin dokuz farklı türleri vardır.İçerik denetimlerinin çoğu karşılık gelen türü olan Microsoft.Office.Tools.Word ad alanı.Genel de kullanılabilir ContentControl, hangi temsil edebilir herhangi bir kullanılabilir içerik denetimini.Bu kullanılabilir içerik denetimlerini nasıl kullanacağınızı gösteren izlenecek yollar için, bkz. İzlenecek Yol: İçerik Denetimlerini Kullanarak Şablon Oluşturma.

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.

Diğer içerik denetimi türü bulunan, aksine Office çalışma zamanı için Visual Studio Araçları onay kutusu içerik denetimi temsil eden özel bir türü sağlamaz.Diğer bir deyişle, yok yok CheckBoxContentControl türü.Ancak, yine de onay kutusu içerik denetiminin genel ekleyerek oluşturabileceğiniz ContentControl bir belgeye program aracılığıyla.Daha fazla bilgi için bkz: Onay kutusu içerik denetimleri Word projelerinde.

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 olan bir ContentControl herhangi bir kullanılabilir içerik denetimlerini türlerini temsil eden nesne.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 Denetimleri 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.

[!NOT]

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.

[!NOT]

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 Verileri Denetimlere 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: Belgeleri Veritabanı Verileriyle Doldurma ve Nasıl Yapılır: Belgeleri Nesne Verileriyle 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

None

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ü Verileriyle 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 Özel 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 Özel XML Bölümlerine Bağlama.

Word projelerinde onay kutusu içerik denetimleri

Word 2010 yeni gösteren bir onay kutusu içerik denetimi türü kullanılmaya başlandı.Ancak, Office çalışma zamanı için Visual Studio Araçları karşılık gelen sağlamaz CheckBoxContentControl , Office projelerinde kullanabileceğiniz türü.Bir onay kutusu içerik denetimi oluşturmak için bir Word 2013 veya Word 2010 proje kullanın, AddContentControl yöntemi oluşturmak için bir ContentControl nesne ve pass wdContentControlCheckBox yöntemine belirt onay kutusu içerik denetiminin değeri.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)


        checkBoxControl1.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);

            checkBoxControl1.Checked = true;

Ayrıca bkz.

Görevler

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

İzlenecek Yol: İçerik Denetimlerini Kullanarak Şablon Oluşturma

Kavramlar

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

Konak Denetimlerinin ve Konak Öğelerinin Programlama Sınırlamaları

Diğer Kaynaklar

Office Çözümlerindeki Veriler

Office Çözümlerinde Verileri Denetimlere Bağlama