Jag har 10 olika forms i mitt program som jag vill skall kunna dela på kod, utseende osv. Det jag vill veta är om det finns något sätt att ha indexerade forms så att jag skulle kunna skriva t.ex. form1(i).text1.text="". Dom är indexerade redan. Testa den här koden: Va? Jag har testat min kod och kommit fram till att den behövde lite justering. Tack så mycket för hjälpen, det fixade problemet. Men det vore ännu bättre om jag bara behövde göra ett form och sen kunde klona det, om ni förstår vad jag menar. Går det? Hmm, jag får det inte att funka. Måste jag skriva detta på något speciellt ställe? Det är ju inget bra att ha tex. 10 Formar i sitt Projekt det blir störtstruligt att hantera.. Jo, men i mitt fall handlar det om att formsen skall ligga ovanför ett annat program och man måste kunna se vad som händer i det andra programmet. Alternativet vore väl att göra bakgrunden genomskinlig men det kändes som ännu mer besvär. Men särskilt smidigt är det ju inte...Indexerade forms
Sv: Indexerade forms
<code>
Dim i As Integer
For i = 1 To Forms.Count -1
Msgbox Forms(i).Caption
Next i
</code>
ThomasSv:Indexerade forms
Med risk för att framstå som dum så undrar jag vad Variabeln Forms(index)
egentligen har med indexerade Form´s att göra.
De flesta andra kontroller har (vad jag vet) en index som Property, men inte
en Form i sig själv. Det går inte ens att ha ( ), [ ] eller { } i namnet (av mina
ovetenskapliga tester att döma, i a f).
Om man nu nödvändigtvis "måste" ha ett antal Form´ar i ett Projekt så finns
det väl lösningar hur man går runt problemet:
<code>
Select Case Index
Case Is = 1
Form1.Text1.Text = ""
Case Is = 2
Form2.Text1.Text = ""
Case Is = 3
Form3.Text1.Text = ""
End Select
</code>
(Jag försöker, i a f :-/ )
ChristerGbg
Sv: Indexerade forms
Forms.Count avser endast dom fönster som finns laddade, tex med Form.Show, Load Form eller liknande.
Lägg till två extra forms i ett standardprojekt så att du har totalt 3 st, Form1, Form2 och Form3.
Kör sedan den här koden från Form1:
<code>
Dim i As Integer
Load Form2
Load Form3
For i = 1 To Forms.Count
MsgBox Forms(i - 1).Caption
Next i
</code>
ThomasSv:Indexerade forms
Sv:Indexerade forms
Sv:Indexerade forms
Mycket bättre att tända och släcka Frames eller Paneler i en Form.
Sen finns det MDI Formar som är barn till Form1.Eller så kan du lägga in PictureBoxar
som funkar likadant som en Form i princip.Sv: Indexerade forms