GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / AddListFormField Method / AddListFormField(Single,Single,Single,Single,String,String,Single,Byte,Byte,Byte,Boolean,Boolean) Method
The horizontal (X) coordinate of the closest point to the currently defined origin, where the form field's bounding box is to be located. The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
The vertical (Y) coordinate of the closest point to the currently defined origin, where the form field's bounding box is to be located. The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
The width of the form field's bounding box, expressed in the current units specified by the SetMeasurementUnit method.
The height of the form field's bounding box, expressed in the current units specified by the SetMeasurementUnit method.
The name of the form field. It can be an empty string, but it is recommended to set a value.
The resource name of the font you prefer for displaying text items in the form field. You can obtain this name using the AddStandardFont method or any of the AddTrueTypeFont...() methods. For further assistance, please see the Fonts section of the GdPicturePDF class in the Reference Guide.
A text (font) size, in points, for displayed items. Please note that 1 point = 1/72 inch.
The amount of red color to be used for the resulting color when displaying text items in the form field. Use the value between 0 and 255.
The amount of green color to be used for the resulting color when displaying text items in the form field. Use the value between 0 and 255.
The amount of blue color to be used for the resulting color when displaying text items in the form field. Use the value between 0 and 255.
Set this parameter to true, if you want to sort the field's items alphabetically, otherwise set it to false. Be aware that this option is intended for use by form authoring tools, not by PDF viewer applications. In other words, the items are always displayed in that order, in which they are added to the list box.
Set this parameter to true, if you want to allow more than one of the field’s items to be selected simultaneously. Set it to false, if you do not want to allow more than one item at a time to be selected.
Example





In This Topic
AddListFormField(Single,Single,Single,Single,String,String,Single,Byte,Byte,Byte,Boolean,Boolean) Method
In This Topic
Adds a list box form field to the currently selected page of the loaded PDF document according to what you have specified. A list box field is a scrollable choice field, which contains several text items, more than one of which can be selected. You have to populate the newly created list box field with the required items according to your preference. All items are always displayed in that order, in which they are added to the list box.

This method uses the RGB color space for specifying the required color of the displayed items in the list box field.

You can subsequently use other methods for assigning more form field properties, as it is shown in the Example section below.

Syntax
'Declaration
 
Public Overloads Function AddListFormField( _
   ByVal Left As Single, _
   ByVal Top As Single, _
   ByVal Width As Single, _
   ByVal Height As Single, _
   ByVal FieldName As String, _
   ByVal FontResName As String, _
   ByVal FontSize As Single, _
   ByVal TextRed As Byte, _
   ByVal TextGreen As Byte, _
   ByVal TextBlue As Byte, _
   ByVal Sorted As Boolean, _
   ByVal Multiselect As Boolean _
) As Integer
public int AddListFormField( 
   float Left,
   float Top,
   float Width,
   float Height,
   string FieldName,
   string FontResName,
   float FontSize,
   byte TextRed,
   byte TextGreen,
   byte TextBlue,
   bool Sorted,
   bool Multiselect
)
public function AddListFormField( 
    Left: Single;
    Top: Single;
    Width: Single;
    Height: Single;
    FieldName: String;
    FontResName: String;
    FontSize: Single;
    TextRed: Byte;
    TextGreen: Byte;
    TextBlue: Byte;
    Sorted: Boolean;
    Multiselect: Boolean
): Integer; 
public function AddListFormField( 
   Left : float,
   Top : float,
   Width : float,
   Height : float,
   FieldName : String,
   FontResName : String,
   FontSize : float,
   TextRed : byte,
   TextGreen : byte,
   TextBlue : byte,
   Sorted : boolean,
   Multiselect : boolean
) : int;
public: int AddListFormField( 
   float Left,
   float Top,
   float Width,
   float Height,
   string* FieldName,
   string* FontResName,
   float FontSize,
   byte TextRed,
   byte TextGreen,
   byte TextBlue,
   bool Sorted,
   bool Multiselect
) 
public:
int AddListFormField( 
   float Left,
   float Top,
   float Width,
   float Height,
   String^ FieldName,
   String^ FontResName,
   float FontSize,
   byte TextRed,
   byte TextGreen,
   byte TextBlue,
   bool Sorted,
   bool Multiselect
) 

Parameters

Left
The horizontal (X) coordinate of the closest point to the currently defined origin, where the form field's bounding box is to be located. The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
Top
The vertical (Y) coordinate of the closest point to the currently defined origin, where the form field's bounding box is to be located. The value is expressed in the current units specified by the SetMeasurementUnit method and it is related to the current page. For further assistance, please see the Remarks section below.
Width
The width of the form field's bounding box, expressed in the current units specified by the SetMeasurementUnit method.
Height
The height of the form field's bounding box, expressed in the current units specified by the SetMeasurementUnit method.
FieldName
The name of the form field. It can be an empty string, but it is recommended to set a value.
FontResName
The resource name of the font you prefer for displaying text items in the form field. You can obtain this name using the AddStandardFont method or any of the AddTrueTypeFont...() methods. For further assistance, please see the Fonts section of the GdPicturePDF class in the Reference Guide.
FontSize
A text (font) size, in points, for displayed items. Please note that 1 point = 1/72 inch.
TextRed
The amount of red color to be used for the resulting color when displaying text items in the form field. Use the value between 0 and 255.
TextGreen
The amount of green color to be used for the resulting color when displaying text items in the form field. Use the value between 0 and 255.
TextBlue
The amount of blue color to be used for the resulting color when displaying text items in the form field. Use the value between 0 and 255.
Sorted
Set this parameter to true, if you want to sort the field's items alphabetically, otherwise set it to false. Be aware that this option is intended for use by form authoring tools, not by PDF viewer applications. In other words, the items are always displayed in that order, in which they are added to the list box.
Multiselect
Set this parameter to true, if you want to allow more than one of the field’s items to be selected simultaneously. Set it to false, if you do not want to allow more than one item at a time to be selected.

Return Value

The unique identifier of the newly created list box form field. The GetStat method can be subsequently used to determine if this method has been successful.
Remarks
This method is only allowed for use with non-encrypted documents.

It is recommend to use the GetStat method to identify the specific reason for the method's failure, if any.

Please always ensure that you have selected the correct page using the SelectPage method before adding a required form field.

You also need to be aware that the values of coordinates and dimensions are expressed in the current units defined by the SetMeasurementUnit method according to the current coordinate space defined by the SetOrigin method.

Example
How to add a list box form field on the first page of the newly created PDF document and how to set its several properties.
Dim caption As String = "Example: AddListFormField"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If (gdpicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
   (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    'Please always select the required page before adding a form field.
    If gdpicturePDF.SelectPage(1) = GdPictureStatus.OK Then
        Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
            Dim formID As Integer = gdpicturePDF.AddListFormField(1, 1, 5, 6, "ListBox_Name", fontResName, 20, 0, 0, 139, False, True)
            If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                Dim formType As PdfFormFieldType = gdpicturePDF.GetFormFieldType(formID)
                If (gdpicturePDF.GetStat() = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetFormFieldBorderColor(formID, 0, 0, 139) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetFormFieldTextAlignment(formID, TextAlignment.TextAlignmentCenter) = GdPictureStatus.OK) Then
                    If (gdpicturePDF.AddFormFieldItem(formID, "Artichoke") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.AddFormFieldItem(formID, "Tomato") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.AddFormFieldItem(formID, "Carrot") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.AddFormFieldItem(formID, "Onion") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.AddFormFieldItem(formID, "Lentils") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.AddFormFieldItem(formID, "Potato") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.AddFormFieldItem(formID, "Zucchini") = GdPictureStatus.OK) AndAlso
                       (gdpicturePDF.SetFormFieldValue(formID, "Artichoke") = GdPictureStatus.OK) Then
                        Dim message As String = "The list box form field has been created." + vbCrLf + "Type: " + formType.ToString() + "    ID: " + formID.ToString()
                        If gdpicturePDF.SaveToFile("forms_listbox.pdf") = GdPictureStatus.OK Then
                            message = message + vbCrLf + "The file has been saved successfully."
                        Else
                            message = message + vbCrLf + "The file can't be saved. Status: " + gdpicturePDF.GetStat().ToString()
                        End If
                        MessageBox.Show(message, caption)
                    Else
                        MessageBox.Show("Setting form field items has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                    End If
                Else
                    MessageBox.Show("Setting form field properties has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                End If
            Else
                MessageBox.Show("The AddListFormField() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
            End If
        Else
            MessageBox.Show("The AddStandardFont() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The SelectPage() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The file can't be created.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: AddListFormField";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if ((gdpicturePDF.NewPDF() == GdPictureStatus.OK) &&
    (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
    //Please always select the required page before adding a form field.
    if (gdpicturePDF.SelectPage(1) == GdPictureStatus.OK)
    {
        string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
        {
            int formID = gdpicturePDF.AddListFormField(1, 1, 5, 6, "ListBox_Name", fontResName, 20, 0, 0, 139, false, true);
            if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
            {
                PdfFormFieldType formType = gdpicturePDF.GetFormFieldType(formID);
                if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetFormFieldBorderColor(formID, 0, 0, 139) == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetFormFieldTextAlignment(formID, TextAlignment.TextAlignmentCenter) == GdPictureStatus.OK))
                {
                    if ((gdpicturePDF.AddFormFieldItem(formID, "Artichoke") == GdPictureStatus.OK) &&
                        (gdpicturePDF.AddFormFieldItem(formID, "Tomato") == GdPictureStatus.OK) &&
                        (gdpicturePDF.AddFormFieldItem(formID, "Carrot") == GdPictureStatus.OK) &&
                        (gdpicturePDF.AddFormFieldItem(formID, "Onion") == GdPictureStatus.OK) &&
                        (gdpicturePDF.AddFormFieldItem(formID, "Lentils") == GdPictureStatus.OK) &&
                        (gdpicturePDF.AddFormFieldItem(formID, "Potato") == GdPictureStatus.OK) &&
                        (gdpicturePDF.AddFormFieldItem(formID, "Zucchini") == GdPictureStatus.OK) &&
                        (gdpicturePDF.SetFormFieldValue(formID, "Artichoke") == GdPictureStatus.OK))
                    {
                        string message = "The list box form field has been created.\n" + "Type: " + formType.ToString() + "    ID: " + formID.ToString();
                        if (gdpicturePDF.SaveToFile("forms_listbox.pdf") == GdPictureStatus.OK)
                            message = message + "\nThe file has been saved successfully.";
                        else
                            message = message + "\nThe file can't be saved. Status: " + gdpicturePDF.GetStat().ToString();
                        MessageBox.Show(message, caption);
                    }
                    else
                        MessageBox.Show("Setting form field items has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
                else
                    MessageBox.Show("Setting form field properties has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
            }
            else
                MessageBox.Show("The AddListFormField() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
        }
        else
            MessageBox.Show("The AddStandardFont() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
    }
    else
        MessageBox.Show("The SelectPage() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The file can't be created.", caption);
gdpicturePDF.Dispose();
See Also