This documentation is archived and is not being maintained.

PictureContentControl Class (2007 System)

Updated: July 2008

Represents a document region that displays an image.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word.v9.0 (in Microsoft.Office.Tools.Word.v9.0.dll)

[DefaultBindingPropertyAttribute("Image")]
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class PictureContentControl : ContentControlBase, 
	ISupportInitializeControl, ISupportInitialize

A PictureContentControl displays an image. You can specify the image at design time or run time, or users can click this control to select an image to insert in the document.

To get or set the image, use the Image property. By default, users cannot change the image in the PictureContentControl at run time. If you want to enable users to choose the image to display in the control, set the ShowInsertPictureIcon property to true.

Content Controls

The PictureContentControl is one of eight types of content controls that you can use to design documents and templates in Microsoft Office Word. Content controls have a user interface (UI) that has controlled input like a form. You can use content controls to prevent users from editing protected sections of the document or template, and you can also bind content controls to a data source. For more information, see Content Controls.

The following code example adds a new PictureContentControl to the beginning of the document. This example assumes that a file named picture.bmp exists in the %UserProfile%\My Documents folder (for Windows XP and earlier) or the %UserProfile%\Documents folder (for Windows Vista).

This version is for a document-level customization. To use this code, paste it into the ThisDocument class in your project, and call the AddPictureControlAtSelection method from the ThisDocument_Startup method.

private Microsoft.Office.Tools.Word.PictureContentControl pictureControl1;
private System.Drawing.Bitmap bitmap1;

private void AddPictureControlAtSelection()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    this.Paragraphs[1].Range.Select();

    pictureControl1 = this.Controls.AddPictureContentControl("pictureControl1");

    string imagePath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
    bitmap1 = new System.Drawing.Bitmap(imagePath, true);
    pictureControl1.Image = bitmap1;
}

This version is for an application-level add-in. To use this code, paste it into the ThisAddIn class in your project, and call the AddPictureControlAtSelection method from the ThisAddIn_Startup method.

private Microsoft.Office.Tools.Word.PictureContentControl pictureControl1;
private System.Drawing.Bitmap bitmap1;

private void AddPictureControlAtSelection()
{
    if (this.Application.ActiveDocument == null)
        return;

    Document vstoDoc = this.Application.ActiveDocument.GetVstoObject();
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();
    vstoDoc.Paragraphs[1].Range.Select();

    pictureControl1 = vstoDoc.Controls.AddPictureContentControl("pictureControl1");

    string imagePath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
    bitmap1 = new System.Drawing.Bitmap(imagePath, true);
    pictureControl1.Image = bitmap1;
}

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Date

History

Reason

July 2008

Added a version of the code example for an application-level add-in.

SP1 feature change.

Show: