There is also a method called GetOtherValues that you can override. Add a settings field to your custom form control of something like "StateFieldName" so you can tell it what field to set the state value for and then do something like this:
public override object[,] GetOtherValues()
{
if (!String.IsNullOrEmpty(StateFieldName))
{
object[,] result = new object[1, 2];
result[0, 0] = StateFieldName;
result[0, 1] = selectedStateName; //this is the variable that you will need to set to your selected state name.
return result;
}
else
{
return base.GetOtherValues();
}
}