Have you considered using a Hidden parameter to control which chart is open? By defining one you can use the textboxes to control an identifier for which chart you wish to display.
Method
First define a Hidden Pameter by creating a new parameter and setting the visibility to ‘Hidden’. I have created one called OpenChart
Create your charts (you have probably already done this by the looks of things. Set each charts visibility to be equivalent to
=iif(Parameters!OpenChart.Value = 1, false, true)
Changing the value ‘1’ to a unique number for each chart
Create your control buttons, possibly using text boxes. Create as many buttons as there are charts to disaply (you’ve probably done this already too). For each button Set the action to be a reloading of this report, using the same existing parameters, but with the OpenCahrt Parameter set to the chart identifier set in 2. Above

The report now looks like this (for 3 buttons)

Result
When the report is run and the ‘One’ textbox is clicked the output looks like this

And for 'Two' like this

And so on...
You don’t have to put the charts side by side of course, they can be layered on top of each other. I only laid them out like this for clarity.
Hopefully this will help save you from trying to validate all the charts are closed before the next one is open, because only one can be open at a time.
Please let me know if you need further clarification