Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
Jappy Chat startenChat   RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Magico777
Newbie
Newbie


Anmeldedatum: 17.11.2009
Beiträge: 6

Vereinfachter Formularaufruf auf Basis von Indizes
Verfasst am: 04.02.2010, 11:16

Hallo,
ich habe eine Frage und hoffe auf jemanden, der sich besser auskennt als ich! Smile

Ich habe ein VB6-Projekt mit mehreren Formularen. Verienfacht geschgildert gibt e ein Startformular (frmStart) von dem aus ich die anderen Formuare aufrufen will. Die anderen Formulare heißen frm0, frm1, frm2, frm3, frm4...

Der Aufruf erfolgt über indizierte Buttons. Ich weiß also das wievielte (Index) Formular ich aufrufen will (z.B. das fünfte Formular -> frm5).

Bisher habe ich das so realisiert:

Code:
Select Case Index
Case 0
   Load frm0
   frm0.show
Case 1
   Load frm1
   frm1.show
Case 2
   Load frm2
   frm2.show
Case 3
   ...
   ...
...
End select


Nun meine Frage: Gibt es einen Weg, wie ich unter verwendung des Index die entsprechende Formular ohne die Select-Case Nummer aufrufen kann?

Also jetzt mal symbolisch "programmiert":

Code:
Load "frm" & Index
"frm" & Index.show


Gruß und scon mal Danke an jeden, der versucht mir zu helfen!!!

Magico
_________________
 
christopher.g
Poster
Poster

Anmeldedatum: 03.05.2008
Beiträge: 174


Verfasst am: 05.02.2010, 05:06

hallo ich habs gestern lange probiert
aber nein ich habs nicht geschafft
und ich glaube auch nicht dass das möglich ist


was su aber machen könntest
du schreibst selcet case in eine eigene sub


Code:

Public Sub fLoad(index As Integer)

Select Case index
    Case 0:
        frm_main.Show
    Case 1:
        frm_1.Show
End Select

End Sub


z.B.
und aufrufen tust dus ganz einfach mit
fload 1

und fertig
vielleicht hilft dir das weiter

--------------------------------
weiters könntest du auch

Code:
Private f1 As Frm_deinlangerformname

f1.Show


ich hoffe ich konnte dir etwas helfen
aber andere lösung kenn ich keine
lg
 
Magico777
Newbie
Newbie


Anmeldedatum: 17.11.2009
Beiträge: 6

Vereinfachter Formularaufruf auf Basis von Indizes
Verfasst am: 05.02.2010, 08:09

Hallo Christopher,
vielen Dank für Deine Antwort und die Mühe, welche Du Dir gemacht hast!!! Very Happy

Schade, dass auch Du zu keinem positiven Ergebnis gekommen bist. Ich habe auch noch ein wenig recherchiert und ebenfalls keine Lösung gefunden.

Das ganze in eine eigene Procedure zu packen, hatte ich schon... Smile

Im Moment ist die "beste" Variante für mich folgende (leider auch nicht automatsiert, aber immerhin etwas schlanker):

Code:
Dim f(10) As Form

Private Sub Cmd_Aufruf_Click(Index As Integer)
   Load f(Index)
   f(Index).Show
End Sub

Private Sub Form_Load()  'Deklaration der Formnamen an einer zentralen Stelle - Eingabe leider per Hand
   Set f(0) = frm0
   Set f(1) = frm1
   Set f(2) = frm2
   ...
   ...
   ...
End Sub

_________________


 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: formulare, aufrufen, formular

 


 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 1757 06.03.2008, 20:19
Keine neuen Beiträge ListView speichern & laden 619 05.08.2008, 12:32
Keine neuen Beiträge 516 10.03.2010, 08:23
Keine neuen Beiträge Registry & Co Fragen 590 03.05.2007, 09:57
Keine neuen Beiträge Listbox speichern & laden 683 22.03.2007, 20:25
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 371 28.03.2008, 01:47
 



[ Time: 0.5851s ][ Queries: 90 (0.1541s) ][ GZIP on - Debug on ]