There's a flaw in your second loop. You're printing the right amount of spaces, but you're only printing one *, hence you don't end up with this:
To achieve the above, you need to introduce a counter much like you did in your first loop so that after you've printed the spaces, you print 1 * for the first line of the above pattern, 2 for the next and so on.
It's a bit difficult for me to put into words clearly, but I hope it's helped somewhat.
NL DB 0DH, 0AH, '$' ; NL = NEXT LINE
MOV AX, @DATA
MOV DS, AX
MOV CX, 5
MOV BX, 1
MOV DL, 20H ; 20H IS ASCII CODE FOR SPACE
MOV AH, 2
INT 21H ; PRINTING SPACES
MOV CX, BX
MOV DL, '*'
MOV AH, 2
INT 21H ; PRINTING STARS
LEA DX, NL
MOV AH, 9
INT 21H ; MOVE CURSOR TO THE START OF NEXT LINE
MOV AH, 4CH
For Each ctrl As Control In Me.Controls("pnlMainPanel").Controls
If ctrl.GetType Is GetType(System.Windows.Forms.Panel) Then
For Each subCtrl As Control In ctrl.Controls
If subCtrl.GetType Is GetType(System.Windows.Forms.TextBox) Then
If subCtrl.GetType Is ...