GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / SetFormFieldRadioInUnison Method
A unique form field identifier specifying a required form field object. You can obtain this identifier using these methods: AddRadioButtonFormField(Single,Single,Single,Single,String,String,PdfCheckBoxStyle,Byte,Byte,Byte), GetFormFieldId or GetFormFieldChildID.
Set this parameter to true, if you want to enable the RadiosInUnison flag, otherwise set it to false to disable it.
Example





In This Topic
SetFormFieldRadioInUnison Method (GdPicturePDF)
In This Topic
Sets the RadiosInUnison flag of a required form field, here a radio button. The radio button group is specified by its unique form field's identifier and it is related to the currently loaded PDF document. As stated, this flag is only specific to radio button fields, so this method is explicitly applicable to radio button form field objects.

If this flag is set, a group of radio buttons within a radio button field, that use the same value for the On state (radio button's choice attribute), will turn on and off in unison; that is if one is checked, they are all checked. If this flag is not set, the buttons in the group are mutually exclusive.

If you set this flag to true for a required radio button group, no radio button in the group is selected as On. If you set the flag to false, the first radio button in the group is selected as On.

Syntax
'Declaration
 
Public Function SetFormFieldRadioInUnison( _
   ByVal FieldId As Integer, _
   ByVal Unison As Boolean _
) As GdPictureStatus
public GdPictureStatus SetFormFieldRadioInUnison( 
   int FieldId,
   bool Unison
)
public function SetFormFieldRadioInUnison( 
    FieldId: Integer;
    Unison: Boolean
): GdPictureStatus; 
public function SetFormFieldRadioInUnison( 
   FieldId : int,
   Unison : boolean
) : GdPictureStatus;
public: GdPictureStatus SetFormFieldRadioInUnison( 
   int FieldId,
   bool Unison
) 
public:
GdPictureStatus SetFormFieldRadioInUnison( 
   int FieldId,
   bool Unison
) 

Parameters

FieldId
A unique form field identifier specifying a required form field object. You can obtain this identifier using these methods: AddRadioButtonFormField(Single,Single,Single,Single,String,String,PdfCheckBoxStyle,Byte,Byte,Byte), GetFormFieldId or GetFormFieldChildID.
Unison
Set this parameter to true, if you want to enable the RadiosInUnison flag, otherwise set it to false to disable it.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents.

Just to remind you, that this method is only meaningful for radio buttons, otherwise it will fail. At the same, the specified value of this flag is assigned to all child radio buttons in a group.

Be aware that this flag has no effect on the child radio buttons in a group, if they all hold different On state names (radio button's choice attribute).

Example
How to utilize the RadiosInUnison flag when adding new radio buttons. The items in the Group2 with same names are always selected together.
Dim caption As String = "Example: SetFormFieldRadioInUnison"
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) AndAlso
           (gdpicturePDF.SetLineColor(0, 0, 0) = GdPictureStatus.OK) Then
            Dim formID As Integer = 0
            'Creating the first group of radio buttons.
            If gdpicturePDF.DrawRectangle(0.5F, 0.5F, 4, 4, False, True) = GdPictureStatus.OK Then
                Dim choices1 As String() = New String() {"choice 1", "choice 2", "choice 3"}
                For i As Integer = 0 To choices1.Length - 1
                    formID = gdpicturePDF.AddRadioButtonFormField(1, 1 + i, 1, 1, "Group1", choices1(i), PdfCheckBoxStyle.PdfCheckBoxStyleStar, 0, 0, 0)
                    If (gdpicturePDF.GetStat() <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldBorderColor(formID, 165, 42, 42) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.DrawText(fontResName, 2.5F, 1.65F + i, choices1(i)) <> GdPictureStatus.OK) Then
                        MessageBox.Show("1.group: adding the radio button nr." + (i + 1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                        'stop creating anything
                        Exit For
                    End If
                Next
                If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                    'The flag is set for all radio buttons in a newly created group.
                    If gdpicturePDF.SetFormFieldRadioInUnison(formID, False) <> GdPictureStatus.OK Then
                        MessageBox.Show("The 1.SetFormFieldRadioInUnison() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                    End If
                End If
                If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                    'Creating the second group of radio buttons.
                    If gdpicturePDF.DrawRectangle(5.5F, 0.5F, 5, 5, False, True) = GdPictureStatus.OK Then
                        Dim choices2 As String() = New String() {"choice 1", "choice 2", "choice 1", "choice 2"}
                        For i As Integer = 0 To choices2.Length - 1
                            formID = gdpicturePDF.AddRadioButtonFormField(6, 1 + i, 1, 1, "Group2", choices2(i), PdfCheckBoxStyle.PdfCheckBoxStyleCircle, 0, 0, 0)
                            If (gdpicturePDF.GetStat() <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.SetFormFieldBorderColor(formID, 165, 42, 42) <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.DrawText(fontResName, 7.5F, 1.65F + i, choices2(i)) <> GdPictureStatus.OK) Then
                                MessageBox.Show("2.group: adding the radio button nr." + (i+1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                                'stop creating anything
                                Exit For
                            End If
                        Next
                        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                            'The flag is set for all radio buttons in a newly created group.
                            If gdpicturePDF.SetFormFieldRadioInUnison(formID, True) <> GdPictureStatus.OK Then
                                MessageBox.Show("The 2.SetFormFieldRadioInUnison() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                            End If
                        End If
                        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                            If gdpicturePDF.SaveToFile("forms_radiobutton.pdf") = GdPictureStatus.OK Then
                                MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
                            Else
                                MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption)
                            End If
                        End If
                    Else
                        MessageBox.Show("The 2.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                    End If
                End If
            Else
                MessageBox.Show("The 1.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
            End If
        Else
            MessageBox.Show("The AddStandardFont() or the SetLineColor() 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: SetFormFieldRadioInUnison";
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) &&
            (gdpicturePDF.SetLineColor(0, 0, 0) == GdPictureStatus.OK))
        {
            int formID = 0;
            //Creating the first group of radio buttons.
            if (gdpicturePDF.DrawRectangle(0.5f, 0.5f, 4, 4, false, true) == GdPictureStatus.OK)
            {
                string[] choices1 = new string[] { "choice 1", "choice 2", "choice 3" };
                for (int i = 0; i < choices1.Length; i++)
                {
                    formID = gdpicturePDF.AddRadioButtonFormField(1, 1 + i, 1, 1, "Group1", choices1[i], PdfCheckBoxStyle.PdfCheckBoxStyleStar, 0, 0, 0);
                    if ((gdpicturePDF.GetStat() != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldBorderColor(formID, 165, 42, 42) != GdPictureStatus.OK) ||
                        (gdpicturePDF.DrawText(fontResName, 2.5f, 1.65f + i, choices1[i]) != GdPictureStatus.OK))
                    {
                        MessageBox.Show("1.group: adding the radio button nr." + (i+1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                        break; //stop creating anything
                    }
                }
                if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                {
                    //The flag is set for all radio buttons in a newly created group.
                    if (gdpicturePDF.SetFormFieldRadioInUnison(formID, false) != GdPictureStatus.OK)
                        MessageBox.Show("The 1.SetFormFieldRadioInUnison() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
                if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                {
                    //Creating the second group of radio buttons.
                    if (gdpicturePDF.DrawRectangle(5.5f, 0.5f, 5, 5, false, true) == GdPictureStatus.OK)
                    {
                        string[] choices2 = new string[] { "choice 1", "choice 2", "choice 1", "choice 2" };
                        for (int i = 0; i < choices2.Length; i++)
                        {
            
                            formID = gdpicturePDF.AddRadioButtonFormField(6, 1 + i, 1, 1, "Group2", choices2[i], PdfCheckBoxStyle.PdfCheckBoxStyleCircle, 0, 0, 0);
                            if ((gdpicturePDF.GetStat() != GdPictureStatus.OK) ||
                                (gdpicturePDF.SetFormFieldBackgroundColor(formID, 255, 228, 196) != GdPictureStatus.OK) ||
                                (gdpicturePDF.SetFormFieldBorderColor(formID, 165, 42, 42) != GdPictureStatus.OK) ||
                                (gdpicturePDF.DrawText(fontResName, 7.5f, 1.65f + i, choices2[i]) != GdPictureStatus.OK))
                            {
                                MessageBox.Show("2.group: adding the radio button nr." + (i+1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                                break; //stop creating anything
                            }
                        }
                        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                        {
                            //The flag is set for all radio buttons in a newly created group.
                            if (gdpicturePDF.SetFormFieldRadioInUnison(formID, true) != GdPictureStatus.OK)
                                MessageBox.Show("The 2.SetFormFieldRadioInUnison() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                        }
                        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                        {
                            if (gdpicturePDF.SaveToFile("forms_radiobutton.pdf") == GdPictureStatus.OK)
                                MessageBox.Show("\nThe example has been followed successfully and the file has been saved.", caption);
                            else
                                MessageBox.Show("\nThe example has been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption);
                        }
                    }
                    else
                        MessageBox.Show("The 2.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
            }
            else
                MessageBox.Show("The 1.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
        }
        else
            MessageBox.Show("The AddStandardFont() or the SetLineColor() 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