<code> om du gör en textbox o sen gör flera arrays av den så du får ett index på varje så kan du köra detta: Hej Det är tråkigt att frame kontrollen inte stödjer Controls egenskapen. MAn kan skapa en egen collection och lägga till de texboxar som finns i framen. Gjort ett litet exempel som visar principen för att kolla i vilken kontroll en annan kontroll ligger: varfär ska man komplicera det hela? räcker det inte med det jag skrev? Hej *ler* jag har börjat se det*s* Hej Låt mig besvara era synpunkter.<br> För min del kan jag bara tacka Andreas (och er andra) Orginalfrågan löd så vitt jag kan se "hur rensar jag flera textboxar i en frame..." inte hur många det fanns i framen. <För min del kan jag bara tacka Andreas (och er andra) Jag tycker trots allt att Andreas inlägg är mycket lärorika för mig, vilken tråd han än svarar på, så personligen uppskattar jag hans engagemang väldigt mycket. Fortsätt så!Rensa flera Textboxar
Jag har skapat en Frame som innehåller ett antal Textboxar. Jag skulle med en knapp vilja rensa samtliga textfält i denna Frame... går detta med ett enkelt kommando eller måste jag rensa ett fält i taget??
Tacksam för svar!
/HempaSv: Rensa flera Textboxar
Private Sub Rensa_Click()
text1.text = "" 'Text fält ett
text1.text = "" 'Text fält 2
etc...
etc...
etc...
End Sub
</code>Sv: Rensa flera Textboxar
Dim i As Integer
For i = 0 To 2 'ändra till antal textrutor du har
text1(i).text = ""
Next i
/BennySv: Rensa flera Textboxar
Du kan också kolla
For Each TextBox In Frame
............
Next TextBox
mvh
Sven
Sv: Rensa flera Textboxar
<code>
Option Explicit
Private mFrameTextboxes As Collection
Private Sub Command1_Click()
Dim Textbox As Textbox
For Each Textbox In mFrameTextboxes
Textbox.Text = ""
Next
End Sub
Public Function ContainedTextboxes(Controls As Object, Container As Object) As Collection
Dim ctrl As Control
Dim Textbox As Textbox
Set ContainedTextboxes = New Collection
For Each ctrl In Controls
If TypeOf ctrl Is Textbox Then
Set Textbox = ctrl
If Textbox.Container Is Container Then
ContainedTextboxes.Add Textbox
End If
End If
Next
End Function
Private Sub Form_Load()
Set mFrameTextboxes = ContainedTextboxes(Controls, Frame1)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set mFrameTextboxes = Nothing
End Sub
</code>Sv: Rensa flera Textboxar
vad vinner jag på att skriva det du skrev? *nyfiken*Sv: Rensa flera Textboxar
Andreas lider av ett komplex att han skall visa sig
överduktig på alla frågor,håller med dig,vad vinner jag
på att skriva en massa "bullshit" som inte korresponderar
mot frågan.
mvh
SvenSv: Rensa flera Textboxar
dessutom ska man väl sträva efter så lite kod som möjligt.Sv: Rensa flera Textboxar
I detta sammanhang (se mitt svar) är det riktigt att
Frame inte är ett Classname.
Dvs kan jag verkligen inte skriva : For Each TextBox In Frame.
Någon som vet
Undrar
SvenSv: Rensa flera Textboxar
<br>
I detta fallet är koden kanske inte den enklaste lösningen. Men jag svarar faktist på frågan "Hur tar man reda på vilka texboxar som finns i framen" eller hur? Jag väljer att demonstrera olika relaterade tekniker när någon ställer en fråga. Dels för att göra inlägg mer intressanta för andra oxå.<br>
<br>
Har för mig att VB.NET stödjer inte Kontrollarrayer. Men gissar att istället frames stödjer Controls Metoden. Vilket ger en annan anfallsvinkel.<br>
<br>
Låt oss säga att frame'en innehåller textboxar från ett recordset. Att gissa sig till vilket index av kontrollerna som är t.ex. Förnamn, Efternam, etc... Kan man ju använda konstanter:
<code>
Private const tbiText1_FirstName = 0
Private const tbiText1_LastName = 1
Private const tbiText1_Adress = 2
'osv...
</code>
Eller en enum:
<code>
Enume tbiText1
FirstName = 0
LastName = 1
Adress = 2
End Enum
</code>
<br>
Så om SvenPon tycker det är BullShit kod får han gör det. Han har rätt till sina åsikter liksom alla andra. Men för det som är intresserade att lära sig mer om vb än hur man skapar en kontroll array kan ju läsa mina inlägg. ;O)Sv: Rensa flera Textboxar
Hans exempel löste ett helt annat problem jag har brottats med ett tag.
Det kan väl aldrig vara en nackdel att vara utförlig i sina svar, så länge svaret är begripligt ?
På detta sättet fick vi ju alla 3-4 alternativa lösningar !
/MartinSv: Rensa flera Textboxar
/BennySv: Rensa flera Textboxar
Hans exempel löste ett helt annat problem jag har brottats med ett tag.
Det kan väl aldrig vara en nackdel att vara utförlig i sina svar, så länge svaret är begripligt ?
På detta sättet fick vi ju alla 3-4 alternativa lösningar !
/Martin>
vISST E DET FINT MED ALTERNATIVA LÖSNINGAR MEN JAG ANSER ATT EN SÅDAN KOD SOM aNDREAS SKRIVER RISKERAR ATT STÄLLA TILL DET FÖR DEN SOM FRÅGADE FRÅN START. Jag skulle kunna använda små bokstäver, ni ser väl iaf:)
ha det gott o programmera ute i solen.Sv: Rensa flera Textboxar
mvh Bylis