GetFormFieldBackgroundColor(Int32,Int32) Method
In This Topic
Returns the background (fill) color of a required form field, here a child radio button in a group. The radio button group is specified by its unique form field's identifier and it is related to the currently loaded PDF document. Please note that every single child radio button in a group can have its own background (fill) color defined. As said, this method is only applicable to radio buttons.
The method only returns the correct form field's background (fill) color if this attribute is specified in the form field object itself, otherwise it will fail. The form field's background (fill) color attribute is not assigned automatically when creating the form field, however, you can specify the background color using the SetFormFieldBackgroundColor(Int32,Int32,Color) method right after adding the required form field on the page. Otherwise, the form field may display invisible.
Syntax
'Declaration
Public Overloads Function GetFormFieldBackgroundColor( _
ByVal As Integer, _
ByVal As Integer _
) As Color
public Color GetFormFieldBackgroundColor(
int ,
int
)
public function GetFormFieldBackgroundColor(
: Integer;
: Integer
): Color;
public function GetFormFieldBackgroundColor(
: int,
: int
) : Color;
public: Color GetFormFieldBackgroundColor(
int ,
int
)
public:
Color GetFormFieldBackgroundColor(
int ,
int
)
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.
- ChildIdx
- The index of the required child radio button in a group. It must be a value from 0 to GetFormFieldChildCount-1.
It is simply a sequence index of a radio button in a group, it does not correspond to the unique form field's identifier.
Return Value
The background (fill) color of the specified form field, if defined. The
GetStat method can be subsequently used to determine if this method has been successful.
Example
How to find out the background color for radio button form fields.
Dim caption As String = "Example: GetFormFieldBackgroundColor"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If gdpicturePDF.LoadFromFile("forms.pdf", False) = GdPictureStatus.OK Then
Dim count As Integer = gdpicturePDF.GetFormFieldsCount()
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
Dim message As String = ""
Dim formID As Integer = 0
Dim hasColor As Boolean = False, hasRB As Boolean = False
Dim type As PdfFormFieldType = PdfFormFieldType.PdfFormFieldTypeUnknown
Dim bgColor As Color = Color.Black
For i As Integer = 0 To count - 1
formID = gdpicturePDF.GetFormFieldId(i)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
type = gdpicturePDF.GetFormFieldType(formID)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
If type = PdfFormFieldType.PdfFormFieldTypeRadioButton Then
hasRB = True
message = message + "RB " + gdpicturePDF.GetFormFieldTitle(formID)
hasColor = gdpicturePDF.FormFieldHasBackgroundColor(formID)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
'The background color is the same (either undefined or specified) for all child radio buttons in this group.
message = message + " - bgColor: "
If hasColor Then
bgColor = gdpicturePDF.GetFormFieldBackgroundColor(formID)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
message = message + bgColor.ToString()
Else
message = message + gdpicturePDF.GetStat().ToString()
End If
Else
message = message + " undefined"
End If
Else
If gdpicturePDF.GetStat() = GdPictureStatus.Aborted Then
'The background color is different for the individual child radio buttons in this group.
message = message + " has a different bgColor for its child radio buttons."
Dim kids As Integer = gdpicturePDF.GetFormFieldChildCount(formID)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
For j As Integer = 0 To kids - 1
message = message + vbCrLf + " " + j.ToString() + ".child - bgColor: "
hasColor = gdpicturePDF.FormFieldHasBackgroundColor(formID, j)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
If hasColor Then
bgColor = gdpicturePDF.GetFormFieldBackgroundColor(formID, j)
If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
message = message + bgColor.ToString()
Else
message = message + gdpicturePDF.GetStat().ToString()
End If
Else
message = message + "undefined"
End If
Else
message = message + gdpicturePDF.GetStat().ToString()
End If
Next
Else
message = message + vbCrLf + " The GetFormFieldChildCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString()
End If
Else
message = message + vbCrLf + " The FormFieldHasBackgroundColor() method has failed with the status: " + gdpicturePDF.GetStat().ToString()
End If
End If
End If
Else
MessageBox.Show("The GetFormFieldType() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
Exit For
End If
Else
MessageBox.Show("The GetFormFieldId() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
Exit For
End If
message += vbCrLf
Next
If count = 0 Then
message = "This file doesn't include forms."
ElseIf Not hasRB Then
message = "This file doesn't include radio button form fields."
End If
MessageBox.Show(message, caption)
Else
MessageBox.Show("The GetFormFieldsCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
Else
MessageBox.Show("The file can't be loaded.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetFormFieldBackgroundColor";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("forms.pdf", false) == GdPictureStatus.OK)
{
int count = gdpicturePDF.GetFormFieldsCount();
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
string message = "";
int formID = 0;
bool hasColor = false, hasRB = false;
PdfFormFieldType type = PdfFormFieldType.PdfFormFieldTypeUnknown;
Color bgColor = Color.Black;
for (int i = 0; i < count; i++)
{
formID = gdpicturePDF.GetFormFieldId(i);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
type = gdpicturePDF.GetFormFieldType(formID);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
if (type == PdfFormFieldType.PdfFormFieldTypeRadioButton)
{
hasRB = true;
message = message + "RB " + gdpicturePDF.GetFormFieldTitle(formID);
hasColor = gdpicturePDF.FormFieldHasBackgroundColor(formID);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
//The background color is the same (either undefined or specified) for all child radio buttons in this group.
message = message + " - bgColor: ";
if (hasColor)
{
bgColor = gdpicturePDF.GetFormFieldBackgroundColor(formID);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
message = message + bgColor.ToString();
else
message = message + gdpicturePDF.GetStat().ToString();
}
else message = message + " undefined";
}
else
{
if (gdpicturePDF.GetStat() == GdPictureStatus.Aborted)
{
//The background color is different for the individual child radio buttons in this group.
message = message + " has a different bgColor for its child radio buttons.";
int kids = gdpicturePDF.GetFormFieldChildCount(formID);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
for (int j = 0; j < kids; j++)
{
message = message + "\n " + j.ToString() + ".child - bgColor: ";
hasColor = gdpicturePDF.FormFieldHasBackgroundColor(formID, j);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
{
if (hasColor)
{
bgColor = gdpicturePDF.GetFormFieldBackgroundColor(formID, j);
if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
message = message + bgColor.ToString();
else
message = message + gdpicturePDF.GetStat().ToString();
}
else message = message + "undefined";
}
else message = message + gdpicturePDF.GetStat().ToString();
}
}
else message = message + "\n The GetFormFieldChildCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString();
}
else message = message + "\n The FormFieldHasBackgroundColor() method has failed with the status: " + gdpicturePDF.GetStat().ToString();
}
}
}
else
{
MessageBox.Show("The GetFormFieldType() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
break;
}
}
else
{
MessageBox.Show("The GetFormFieldId() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
break;
}
message += "\n";
}
if (count == 0) message = "This file doesn't include forms.";
else if (!hasRB) message = "This file doesn't include radio button form fields.";
MessageBox.Show(message, caption);
}
else
MessageBox.Show("The GetFormFieldsCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
MessageBox.Show("The file can't be loaded.", caption);
gdpicturePDF.Dispose();
See Also
Reference
GdPicturePDF Class
GdPicturePDF Members
Overload List
FormFieldHasBackgroundColor(Int32,Int32) Method
SetFormFieldBackgroundColor(Int32,Int32,Color) Method
SetFormFieldNoBackgroundColor(Int32,Int32) Method
GetFormFieldsCount Method
GetFormFieldId Method
GetFormFieldChildID Method
GetFormFieldType Method
AddRadioButtonFormField(Single,Single,Single,Single,String,String,PdfCheckBoxStyle,Color) Method