If these text boxes refer to the simulated buttons in your other discussion (is possible return 2 expression in one if condition?), then you could devise a double row of text boxes, one below the other. The top row groups a series of text boxes in the second row, e.g. by category or by group of measures. The second row will show your 50 text boxes, but not all at the same time.
For example, imagine that you have five revenue measures, called Revenue, RevKPI1, RevKPI2, RevTOP and RevBOT. Align these five text boxes on the second row and next to each other (in a grid-like fashion, evenly spaced).
Now on the first row create a new text box called Revenue that sets a variable to control the second row. Call this variable vShowButtonGroup or something. When clicking the Revenue text box, set variable vShowButtonGroup to 'Revenue'.
All text boxes on the second row that belong to the Revenue group should get a Conditional Show expression (see the Show group on the Properties->Layout tab) like this:
'$(vShowButtonGroup)' = 'Revenue'
Instead of using a multibox could be a pivot an alternatively: Building a nicer, dynamic QlikView multibox The Qlik Fix!. Also possible might be an extension like this dropdown menu extension adjusted on sheet-object level.
A multibox is a good idea for this. Another way you may prefer, especially if the fields in your textboxes can be grouped in a natural way, is to use a container object. You can use a tab of each category of field (such as customer related, product related, sales related, etc) and place list boxes in the appropriate tab so you won't have all the listboxes on your dashboard at the same time. If space is really tight you can minimize the container when you're not using it and rely solely on the Current Selections object to keep track of your selections. If space is really, really tight you don't need that object, you can click the Current Selection icon in the Standard toolbar when required.