How to hide UI panel when an other one shows up

Hi, I m trying to add descriptions to my prefab icons in the UI. The Icons are buttons with On Click action which opens and closes the text box. The problem is when Im opening a new Icon/text box/ the previously clicked remains open. Can someone help me how to manage to disappear the previous one when I click the new one.

Here is my text box opener script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;



public class TextBoxOpener : MonoBehaviour
{
    public GameObject textbox;

    public void OpenPanel()
    {
        if (textbox != null)
        {
            bool isActive = textbox.activeSelf;
            textbox.SetActive(!isActive);
        }
    }
}

public TextPanelsCloser textPanelsCloserScript;
public GameObject textBox;

public void MethodToCall()
{
    if(textPanel.isActiveSelf)
  {
          CloseMyTextPanel();
     }
    else
  {
          OpenMyTextPanel();
    }
}



void OpenMyTextPanel()
{
  CloseAllTextPanels();
textbox.SetActive(true);

}

void CloseAllTextPanels()
{
      textPanelsCloserScript.CloseAllTextPanels();
}


void CloseMyTextPanel()
{
   textbox.SetActive(false);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////
//Create script named textPanelsCloser and attach to a object. (we do it for writing solid code).
//and write it to textPanelSCloser:::

public List textPanelsList = new List ();

 public void CloseAllTextPanels()

{
for(int i = 0; i< textPanelsList.Count; i++)
{
textPanelsList*.SetActive(false);*
}
}
//So we wont create same list for 5-6 times. we wil only have single list for single work.

Thank you so much!