Hi Rich. In order to prevent the form from showing for an event, for a specific user who has already submitted that form, you will need to use the gform_get_form_filter:
That is where you can decide to show a form or show a message, based on your conditions. In your case the condition will be if this logged in user already has a submission for this event. So, before the form is shown, you will need to know the event. I’m not sure if that is the post title, or post ID or a custom field, but you will need that information. And you will need to grab the user’s ID or username or email, whatever is stored in the entry for them.
Then, you can use the GFAPI::get_entries function:
to determine if an entry with your criteria (the post ID or post name, and the user-identifying information) was already submitted. If so, return a message “You have already registered for this event”. If not, return the form.
It should be possible with this filter, this API function, and some PHP. If you need any other ideas, please let us know.