Lösungsvorschlag
Okay, ich habe mir folgendes überlegt (dabei ist es egal, ob du nur 3 oder beliebig viele Variablen verwenden möchtest):
n sei die Anzahl der Elemente, die du untereinander kombinieren möchtest (bei dir sozusagen die Anzahl der Textboxen)
a sei die Anzahl der möglichen Kombinationen. Aus Mathe wissen wir noch: a=n! (! für Fakultät)
Zuerst erstellen wir uns ein Array mit n Elementen. Dieses soll eine Anordnung der n Elemente darstellen. Da wir von diesem Array insgesamt a Stück brauchen, bastelst du dir am sinnvollsten eine Klasse (so hab ich das jedenfalls gemacht) und erstellst dann a Objekte von dieser Klasse. Ich habe die Klasse mal "Kombination" genannt.
Nun machen wir mit den Kombination-Objekten folgendes:
wir schreiben in jedes Kombination-Objekt den Buchstaben A, wobei wir bei jedem Objekt ein anderes Element aus dem Array wählen. Wenn alle Elemente einmal verwendet worden sind, dann fangen wir wieder bei dem 1. Element an.
Dann machen wir das ganze nochmal mit allen Kombination-Objekten und dem Buchstaben B, müssen aber aufpassen, dass wir nicht einen Platz wo bereits ein A steht mit B überschreiben.
Ich versuche mal das als Code zu beschreiben:
Du baust zuerst eine Schleife, die von 1 bis n geht.
Dann sollte in dieser Schleife eine Variable existieren, die in Buchstaben hochzählt ("A", dann im nächsten Schleifendurchlauf "B", dann "C", usw)
Diese Buchstaben sollen jeweils ein Element repräsentieren, das wir auf die Kombination-Array-Plätze verteilen wollen.
Dann ist in dieser "äußeren" Schleife noch eine weitere "innere" Schleife enthalten, die von 1 bis a geht. Den Schleifen-Zähler bezeichne ich mal mit x
In dieser inneren Schleife machst du nun mit jedem Kombination-Array folgendes:
Du suchst im a-ten Array nach dem x-ten freien Platz. Wenn du diesen Platz gefunden hast, dann schreibst du da den Buchstaben rein (welcher in der äußeren Schleife hochgezählt wird).
Mit "freiem Platz" meine ich das Array-Element, in dem noch kein Buchstabe drin steht.
Das war es auch schon.
Nun brauchst du bloß noch die Inhalte aller Arrays irgendwo hinzuschreiben.
Kapierst du das? Ich hab's in VB.Net programmiert, willst du den Code trotzdem sehen?