Word belgelerine İçerik denetimleri ekleme
Belge düzeyindeki Word projelerinde, tasarım zamanında veya çalışma zamanında projenizdeki belgeye içerik denetimleri ekleyebilirsiniz. Word VSTO Eklenti projelerinde, çalışma zamanında herhangi bir açık belgeye içerik denetimleri ekleyebilirsiniz.
Şunlar için geçerlidir: Bu konudaki bilgiler, 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ğıdaki görevler açıklanmaktadır:
Belge düzeyinde bir projede çalışma zamanında içerik denetimleri ekleme
VSTO Eklenti projesinde çalışma zamanında içerik denetimleri ekleme
İçerik denetimleri hakkında bilgi için bkz . İçerik denetimleri.
Tasarım zamanında İçerik denetimleri ekleme
Tasarım zamanında belge düzeyindeki bir projede belgeye içerik denetimleri eklemenin çeşitli yolları vardır:
Araç Kutusu'nun Word Denetimleri sekmesinden içerik denetimi ekleyin.
Belgenize, Word'de yerel içerik denetimi eklediğiniz şekilde içerik denetimi ekleyin.
Veri Kaynakları penceresinden belgenize bir içerik denetimi sürükleyin. Bu, denetim oluşturulduğunda denetimi verilere bağlamak istediğinizde kullanışlıdır. Daha fazla bilgi için bkz . Nasıl yapılır: Belgeleri nesnelerden alınan verilerle doldurma ve Nasıl yapılır: Belgeleri veritabanındaki verilerle doldurma.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz . IDE'yi kişiselleştirme.
Araç Kutusu'nu kullanarak belgeye içerik denetimi eklemek için
Visual Studio tasarımcısında barındırılan belgede, imleci içerik denetimini eklemek istediğiniz yere getirin veya içerik denetiminin değiştirmesini istediğiniz metni seçin.
Araç Kutusu'nu açın ve Word Denetimleri sekmesine tıklayın.
Denetimi aşağıdaki yollardan birini ekleyin:
Araç Kutusu'nda bir içerik denetimine çift tıklayın.
veya
Araç Kutusu'nda bir içerik denetimine tıklayın ve enter tuşuna basın.
veya
Araç Kutusu'ndan bir içerik denetimini belgeye sürükleyin. İçerik denetimi, fare işaretçisinin konumuna değil, belgedeki geçerli seçime eklenir.
Not
Araç Kutusu'nu kullanarak bir GroupContentControl ekleyemezsiniz. Yalnızca Word'de veya çalışma zamanında ekleyebilirsiniz GroupContentControl .
Not
Visual Studio, Araç Kutusu'nda onay kutusu içerik denetimi sağlamaz. Belgeye onay kutusu içerik denetimi eklemek için, program aracılığıyla bir ContentControl nesne oluşturmanız gerekir. Daha fazla bilgi için bkz . İçerik denetimleri.
Word'de belgeye içerik denetimi eklemek için
Visual Studio tasarımcısında barındırılan belgede, imleci içerik denetimini eklemek istediğiniz yere getirin veya içerik denetiminin değiştirmesini istediğiniz metni seçin.
Şeritte Geliştirici sekmesine tıklayın.
Not
Geliştirici sekmesi görünmüyorsa, önce bunu göstermeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Şeritte Geliştirici sekmesini gösterme.
Denetimler grubunda, eklemek istediğiniz içerik denetiminin simgesine tıklayın.
Belge düzeyinde bir projede çalışma zamanında içerik denetimleri ekleme
Projenizdeki sınıfın özelliğinin ThisDocument
yöntemlerini Controls kullanarak çalışma zamanında belgenize program aracılığıyla içerik denetimleri ekleyebilirsiniz. Her yöntemin, aşağıdaki yollarla içerik denetimi eklemek için kullanabileceğiniz üç aşırı yüklemesi vardır:
Geçerli seçime bir denetim ekleyin.
Belirtilen aralıkta bir denetim ekleyin.
Belgedeki yerel içerik denetimini temel alan bir denetim ekleyin.
Dinamik olarak oluşturulan içerik denetimleri, belge kapatıldığında belgede kalıcı olmaz. Ancak, yerel içerik denetimi belgede kalır. Belgenin bir sonraki açışında yerel içerik denetimini temel alan bir içerik denetimini yeniden oluşturabilirsiniz. Daha fazla bilgi için bkz . Çalışma zamanında Office belgelerine denetim ekleme.
Not
Word 2010 projesindeki bir belgeye onay kutusu içerik denetimi eklemek için bir ContentControl nesne oluşturmanız gerekir. Daha fazla bilgi için bkz . İçerik denetimleri.
Geçerli seçime içerik denetimi eklemek için
Ad
Add
<denetim sınıfına> sahip (ControlCollectionburada denetim sınıfı, eklemek istediğiniz içerik denetiminin sınıf adıdır, örneğin AddRichTextContentControl), ve yeni denetimin adı için tek bir parametresi olan bir yöntem kullanın.Aşağıdaki kod örneği, belgenin AddRichTextContentControl başına yeni RichTextContentControl bir eklemek için yöntemini kullanır. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına
ThisDocument
ekleyin ve olay işleyicisinden yöntemini çağırınAddRichTextControlAtSelection
ThisDocument_Startup
.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1; private void AddRichTextControlAtSelection() { this.Paragraphs[1].Range.InsertParagraphBefore(); this.Paragraphs[1].Range.Select(); richTextControl1 = this.Controls.AddRichTextContentControl("richTextControl1"); richTextControl1.PlaceholderText = "Enter your first name"; }
Belirtilen aralıkta içerik denetimi eklemek için
Ad<
Add
denetim sınıfına> sahip bir ControlCollection yöntem kullanın (burada denetim sınıfı, eklemek istediğiniz içerik denetimi sınıfının adıdır, örneğin AddRichTextContentControl), ve parametresi Range vardır.Aşağıdaki kod örneği, belgenin AddRichTextContentControl başına yeni RichTextContentControl bir eklemek için yöntemini kullanır. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına
ThisDocument
ekleyin ve olay işleyicisinden yöntemini çağırınAddRichTextControlAtRange
ThisDocument_Startup
.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2; private void AddRichTextControlAtRange() { this.Paragraphs[1].Range.InsertParagraphBefore(); richTextControl2 = this.Controls.AddRichTextContentControl(this.Paragraphs[1].Range, "richTextControl2"); richTextControl2.PlaceholderText = "Enter your first name"; }
Yerel içerik denetimini temel alan bir içerik denetimi eklemek için
Ad<
Add
denetim sınıfına> sahip bir ControlCollection yöntem kullanın (burada denetim sınıfı, eklemek istediğiniz içerik denetimi sınıfının adıdır, örneğin AddRichTextContentControl), ve parametresiMicrosoft.Office.Interop.Word.ContentControl
vardır.Aşağıdaki kod örneği, belgedeki AddRichTextContentControl her yerel zengin metin denetimi için yeni RichTextContentControl bir oluşturma yöntemini kullanır. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına
ThisDocument
ekleyin ve olay işleyicisinden yöntemini çağırınCreateRichTextControlsFromNativeControls
ThisDocument_Startup
.private System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls; private void CreateRichTextControlsFromNativeControls() { if (this.ContentControls.Count <= 0) return; richTextControls = new System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl>(); int count = 0; foreach (Word.ContentControl nativeControl in this.ContentControls) { if (nativeControl.Type == Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText) { count++; Microsoft.Office.Tools.Word.RichTextContentControl tempControl = this.Controls.AddRichTextContentControl(nativeControl, "VSTORichTextControl" + count.ToString()); richTextControls.Add(tempControl); } } }
VSTO Eklenti projesinde çalışma zamanında içerik denetimleri ekleme
VSTO Eklentisi kullanarak çalışma zamanında açık olan herhangi bir belgeye program aracılığıyla içerik denetimleri ekleyebilirsiniz. Bunu yapmak için, açık bir belgeyi temel alan bir Document konak öğesi oluşturun ve ardından bu konak öğesinin Controls özelliğinin yöntemlerini kullanın. Her yöntemin, aşağıdaki yollarla içerik denetimi eklemek için kullanabileceğiniz üç aşırı yüklemesi vardır:
Geçerli seçime bir denetim ekleyin.
Belirtilen aralıkta bir denetim ekleyin.
Belgedeki yerel içerik denetimini temel alan bir denetim ekleyin.
Dinamik olarak oluşturulan içerik denetimleri, belge kapatıldığında belgede kalıcı olmaz. Ancak, yerel içerik denetimi belgede kalır. Belgenin bir sonraki açışında yerel içerik denetimini temel alan bir içerik denetimini yeniden oluşturabilirsiniz. Daha fazla bilgi için bkz . Office belgelerinde dinamik denetimleri kalıcı hale getir.
VSTO Eklenti projelerinde konak öğeleri 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.
Not
Belgeye onay kutusu içerik denetimi eklemek için bir ContentControl nesne oluşturmanız gerekir. Daha fazla bilgi için bkz . İçerik denetimleri.
Geçerli seçime içerik denetimi eklemek için
Ad
Add
<denetim sınıfına> sahip (ControlCollectionburada denetim sınıfı, eklemek istediğiniz içerik denetiminin sınıf adıdır, örneğin AddRichTextContentControl), ve yeni denetimin adı için tek bir parametresi olan bir yöntem kullanın.Aşağıdaki kod örneği, etkin belgenin AddRichTextContentControl başına yeni RichTextContentControl bir eklemek için yöntemini kullanır. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına
ThisAddIn
ekleyin ve olay işleyicisinden yöntemini çağırınAddRichTextControlAtSelection
ThisAddIn_Startup
.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1; private void AddRichTextControlAtSelection() { Word.Document currentDocument = this.Application.ActiveDocument; currentDocument.Paragraphs[1].Range.InsertParagraphBefore(); currentDocument.Paragraphs[1].Range.Select(); Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument); richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1"); richTextControl1.PlaceholderText = "Enter your first name"; }
Belirtilen aralıkta içerik denetimi eklemek için
Ad<
Add
denetim sınıfına> sahip bir ControlCollection yöntem kullanın (burada denetim sınıfı, eklemek istediğiniz içerik denetimi sınıfının adıdır, örneğin AddRichTextContentControl), ve parametresi Range vardır.Aşağıdaki kod örneği, etkin belgenin AddRichTextContentControl başına yeni RichTextContentControl bir eklemek için yöntemini kullanır. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına
ThisAddIn
ekleyin ve olay işleyicisinden yöntemini çağırınAddRichTextControlAtRange
ThisAddIn_Startup
.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2; private void AddRichTextControlAtRange() { Word.Document currentDocument = this.Application.ActiveDocument; currentDocument.Paragraphs[1].Range.InsertParagraphBefore(); Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument); richTextControl2 = extendedDocument.Controls.AddRichTextContentControl( currentDocument.Paragraphs[1].Range, "richTextControl2"); richTextControl2.PlaceholderText = "Enter your first name"; }
Yerel içerik denetimini temel alan bir içerik denetimi eklemek için
Ad<
Add
denetim sınıfına> sahip bir ControlCollection yöntem kullanın (burada denetim sınıfı, eklemek istediğiniz içerik denetimi sınıfının adıdır, örneğin AddRichTextContentControl), ve parametresiMicrosoft.Office.Interop.Word.ContentControl
vardır.Aşağıdaki kod örneği, belge açıldıktan sonra belgedeki her yerel zengin metin denetimi için yeni RichTextContentControl bir oluşturma yöntemini kullanırAddRichTextContentControl. Bu kodu çalıştırmak için kodu projenizdeki sınıfına
ThisAddIn
ekleyin.private System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls; private void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc) { if (Doc.ContentControls.Count > 0) { Document extendedDocument = Globals.Factory.GetVstoObject(Doc); richTextControls = new System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl>(); int count = 0; foreach (Word.ContentControl nativeControl in Doc.ContentControls) { if (nativeControl.Type == Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText) { count++; Microsoft.Office.Tools.Word.RichTextContentControl tempControl = extendedDocument.Controls.AddRichTextContentControl(nativeControl, "VSTORichTextControl" + count.ToString()); richTextControls.Add(tempControl); } } } }
C# için olay işleyicisini
Application_DocumentOpen
DocumentOpen de olaya eklemeniz gerekir.this.Application.DocumentOpen += new Word.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);