Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> Scriptsprachen
Autor
Nachricht
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7

Controls (& Typen) aus Form auslesen
Verfasst am: 26.01.2012, 10:17

Hallo zusammen,
ich habe ein Formular erstellt, welches verschiedene Steuerelemente beinhaltet.

Beispielsweise sind dort Label, Textboxen, Checkboxen etc. vorhanden.
Diese Steuerelemente (Controls) sind in einem TabControls auf verschiedene Tabs verteilt.

Nun möchte ich eine Schleife erstellen, die durch die Form geht, alle Controls ermittelt und dann abfragt, um welchen Typ es sich handelt. Wenn ich das habe, möchte ich abfragen, ob z.b. eine Textbox gefüllt ist oder eine Checkbox angekreuzt ist.

Ist dies der Fall, soll das entsprechende Tab im TabControl gekennzeichnert werden.

Mein VB Code:
For Each ctl As Control in Antrag_1
If Dim ctl TypeOf(ctl) Is Textbox Then
If ctl.Value <> "" Then
TabControl.Pages(0) = "(*) Sammelumzug"
End If
End If
Next

Leider funktioniert das in VBS nicht, da VBS kein "As" oder "TypeOf" kennt. Kann mir da jemand helfen?

Wäre überaus dankbar.

Mfg InSiDeR
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 26.01.2012, 13:15

hi

ich habe leider keine ahnung was in vbs geht und was nicht

ich hätte jetzt auch keine lösung für dein problem
in vb6 habe ich damals ein modul geschrieben das wie für dich geschaffen wäre Smile

aber was du versuchen könntest
dass du deinen steuerelementen einen index gibst

somit ersparst du dir dein name und type of

Text1(3).Text

so würdest du dir wahrscheinlich sogar unnötig viel arbeit ersparten
weil deine paar steuerelemente kannst du alle in einer forschleife mit dem index ansprechen
es dreht sich wahrscheinlich e nur um
checkbox, Optionbutton, textbox, und sonst fällt mir nichts ein

naja ich hoffe ich konnte helfen


lg Deepack
 
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7


Verfasst am: 26.01.2012, 13:33

Hallo Deepack,
danke für deine Antwort.

So wirklich blicke ich da nicht durch, was du mir erklären möchtest.

Problem: Ich müsste ALLEN Steuerelementen händisch einen Index geben! So ist das keineswegs gewollt.

Wäre super wenn du deinen Lösungsvorschlag in Form von Quellcode niederschreiben könntest. Blicke da nicht so wirklich durch.
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 27.01.2012, 10:46

das funktioniert automatisch !


Mit [STRG] C
[STRG] V

dann haben die automatisch einen index Wink
 
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7


Verfasst am: 27.01.2012, 13:30

christopher.g hat Folgendes geschrieben:
das funktioniert automatisch !


Mit [STRG] C
[STRG] V

dann haben die automatisch einen index Wink


Ich habe aber unterschiedlich viele Steuerelemente und ich glaub nicht das das so gewollt ist jedem Steuerelement einen Index hinzuzufügen.
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 30.01.2012, 07:54

ja das solltest du wissen
ob es gewollt ist Wink

Text1.Count gibt dir dann die anzahl zurück
und somit bleibt alles schön dynamisch


ansonsten schildere nochmal genau dein vorhaben
dann könnte es leichter werden für mich
 
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7


Verfasst am: 30.01.2012, 08:49

Nunja ich hab eben eine Form mit verschiedenen Controls. Diese Controls sind auf einem TabControl in verschiedenen Tabs untergeordnet.

Ich möchte nun, wenn ein Control im Tab befüllt ist, sprich etwas in einer Textbox steht, ne Checkbox angekreuzt ist, was auch immer, da entsprechende Tab gekennzeichnet wird. Da die Controls in den einzelnen Tabs natürlich unterschiedlich sind und zukunftssicher sein soll, muss das Ganze dynamisch erstellt werden.

Wenn ich also 10 Tabs (Reiter) habe, soll auf dem ersten Blick sichtbar sein, in welchem Tab etwas steht. Wäre schön, wenn die Tabbeschreibung einfach fett geschrieben ist. Ein einfaches Symbol würd aber auch Sinn machen. Soll eben nur erkenntlich sein.
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 30.01.2012, 11:32

hi

ich werde dir hier an dieser stelle nochmals den index ans herz legen....



du hast eine textbox die beschrieben wird wenn das geschieht soll sich der checkbox value ändern

Private Sub Text1_Change(Index as integer)

if text1(Index).text <> "" then
check1(index).Value = 1
else
check1(index).value = 0
endif

End SUb


Wundersschön dynamisch
und auf beliebig erweiterbar
noch ein vorteil!
wenig zeilen code für 1000 steuerelemente
 
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7


Verfasst am: 30.01.2012, 12:50

Schön und gut. Du hast eine Methode für eine Textbox geschrieben. Das heisst, jede Textbox kann diese Methode verwenden.
Und wie frage ich nun die Form ab, welche Controls vorhanden sind?

Wenn ich sie habe, wie frage ich die Form welche Typen die Controls haben?

Das muss ich alles abfragen... wie ich eine textbox abfrage und aktionen ausführe ist nicht das problem sondern die abfrage der controls und der typen.
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 30.01.2012, 17:49

hi
wie gesagt da weis ich leider auch keine möglichkeit mehr

aus diesem grund eben die aussage
dass du deine controls auf gut glück ansprichst

es werden nicht viele sein
nehme ich an
 
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7


Verfasst am: 31.01.2012, 11:09

Mir wurde gesagt, dass man über .Parent die Form ansprechen kann und dadurch die Controls automatisch angesprochen werden. Weiß nur absolut nicht, wie ich das umsetzen soll und wir das funktionieren soll. Hast du da evtl. eine Idee?
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 01.02.2012, 08:29

sry noch nie gehört


Warum eigentlich VBS und nicht vb6 oder .net?
 
InSiDeR
Newbie
Newbie

Anmeldedatum: 26.01.2012
Beiträge: 7


Verfasst am: 13.02.2012, 14:17


wird nur vbs unterstützt

in vb hätte ich es auch schon gelöst
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> Scriptsprachen

Tags: auslesen, steuerelemente, tabcontrol, controls, textbox

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 983 09.06.2011, 13:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2608 06.03.2008, 21:19
Keine neuen Beiträge ListView speichern & laden 1331 05.08.2008, 13:32
Keine neuen Beiträge Registry & Co Fragen 1203 03.05.2007, 10:57
Keine neuen Beiträge Listbox speichern & laden 2266 22.03.2007, 21:25
 


[ Time: 0.1382s ][ Queries: 116 (0.0732s) ][ GZIP on - Debug on ]