See the question and my original answer on StackOverflow

You can use the context parameter and get the current property value, something like this:

public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
    // get the current property value
    string value = (string)context.PropertyDescriptor.GetValue(context.Instance);
    return new StandardValuesCollection(GetFilteredList(value));
}