Adăugarea dinamică a controalelor

Adăugarea de noi controale este necesară în aplicațiile care nu cunosc în prealabil cât de mult și ce este necesar, deci atunci când este programabil să se prevadă posibilitatea unei lipse de controale, acest lucru va fi discutat în acest articol.







Există mai multe modalități de a crea o matrice de control, cum ar fi acest lucru: ai pus pe o formă de control, în timp ce setarea indexul său = 0, care creează în mod automat o serie de controale, în cazul în care controlul devine primul. Apoi, adăugați controale de comandă de încărcare (Index Ca Integer)

exemplu:
Creați un simplu proiect exe și trageți butonul pe acesta, puneți Index = 0 și scrieți următorul cod:

Dim mCount ca Integer

Private Sub Command1_Click (Index ca întreg)
mCount = mCount + 1
Load Command1 (Count) "Adăugați un control cu ​​un index mai mare decât unul în matrice
Command1 (mCount) .Height = Command1 (0) .Height 'Setați parametrii
Command1 (mCount) .Width = Command1 (0). Lățime
Command1 (mCount) .Visible = True 'Efectuați vizibil
Command1 (mCount) .Left = command1 (mCount - 1) .Left + command1 (0) .Width „sunt plasate pe formular
Command1 (mCount) .Top = Command1 (0) .Top
End Sub

Private Sub Form_Load ()
mCount = 0 'Vom declara o valoare egală cu indicele primului buton din matrice
End Sub

Așadar, vom crea o secvență de butoane, care crește cu fiecare apăsare. Dar ar exista un mic beneficiu de la un astfel de sistem de adăugare dacă nu ar fi posibil să se elimine controalele. Acest lucru se face în mod corespunzător cu comanda Descărcare (Index ca întreg)

exemplu;
În formularul din exemplul anterior, am pus un alt buton și adăugăm următorul cod:

Private Sub delet_Click ()
Descărcați comanda1 (mCount)
End Sub

Dar imediat avertizez că nu este posibil să eliminați un element adăugat în timpul proiectării formularului. Așa că fii atent.







Există, de asemenea, oa doua modalitate de a adăuga controale la formular. Aceasta constă în aplicarea metodei Add, care este disponibilă în familia Controls. Această metodă este mult mai bună, pentru că nu trebuie să creați primele elemente în matrice. Totul va fi deja creat direct atunci când utilizatorul lucrează cu programul. Puteți schimba complet interfața programului prin adăugarea codului corespunzător.

Această metodă este bună pentru că fiecare obiect, puteți seta și un cod, și anume de manipulare eveniment, aceste controale pot fi separate și nu o serie de elemente care este mult mai convenabil.

Private WithEvents NewButton Ca CommandButton "Spunem sistemului că dorim să folosim handler-ul evenimentului cu un buton
Private Sub NewButton_Click () 'Codul pentru a gestiona evenimentul cu click-button
MsgBox "Ați făcut clic pe butonul nou"
End Sub
Private Sub Form_Click ()
Set NewButton = Controls.Add ( „VB.CommandButton“, „NewButton“) „atunci când faceți clic pe butonul nou apare pe formularul
NewButton.Visible = Adevărat
NewButton.Height = 1000
NewButton.Width = 1000
NewButton.Top = 0
NewButton.Left = 0
NewButton.Caption = "Dați clic pe mine".
End Sub

Eliminați comanda este ușor:
Form1.Controls.Remove "NewButton"
Deci, puteți adăuga orice control, alocați-l gestionării evenimentului. În general, totul este bine.

Lista standardizatorilor standard de control:
VB.ComandButton - buton
VB.ComboBox - Listă derulantă
VB.DirListBox - Lista directoarelor
VB.DriveListBox - Lista de dispozitive
VB.FileListBox - Lista fișierelor
VB.Form - Formă
VB.Frame - cadru
VB.HScrollBar - Bara de derulare orizontală
VB.Image - Imagine
VB.Label - inscripția
VB.Line-Line
VB.ListBox - Listă
VB.MDIForm - formular MDI
VB.Menu - Meniu
Componentă VB.OLE - OLE
VB.OptionButton - Selecție
VB.PictureBox - Imagine
VB.Shape - Cerc
VB.TextBox - fereastra de text
VB.UserControl - Control particularizat
VB.UserDocument - Document de utilizator
VB.VScrollBar - Bara de derulare verticală
VB.Timer - Timer

Și asta nu e tot, dar nu-mi amintesc mai mult. Da, puteți privi în Browserul de obiecte din modulul VB. Și totuși, dacă adăugați control ActiveX, care necesită chei de licență, atunci nu uitați să adăugați cheia.
adaugă sau controale - o modalitate puternică de a schimba aplicația în proces, metoda cea mai convenabilă Adăugarea, și metoda de încărcare este utilizată de obicei atunci când se adaugă obiecte statice, iar atunci când nu este necesar să se ocupe de nimic.







Articole similare

Trimiteți-le prietenilor: