Hallo zusammen,
ich befasse mich seit neuem mit Visual Basic 2010 und versuche gerade, ein Programm, das ich mal vor Jahren mit VBA (Access) gemacht habe, in VB umzustricken. In dem Programm verwalte ich Kunden, Aufträge etc. (für meinen eigenen Laden).
Zu meinem Anliegen: ich habe etliche Forms, in denen ich beim Öffnen (form_load) die Text-, Combo- und ähnliche Felder sperren möchte, damit der Anwender nicht versehentlich etwas ändert und es nicht merkt. Erst mit Klick auf die Schaltfläche <Bearbeiten> sollen diese Felder zum Edtieren freigegeben werden. Nach dem Speichern werden sie wiederum gesperrt.
Um nicht auf jeder Form das gleiche Programm (nennen wir es "TextfelderSperren") hineinzuschreiben, hatte ich es bei VBA mit einem Modul gemacht. Also vom jeweiligen Formular mit Call TextfelderSperren die entsprechende Sub aufgerufen. Damit wurden die Felder gesperrt und ich hatte das entsprechende Formular vor mir. Mit Klicken auf <Bearbeiten> wurde wiederum die Sub im Modul mit Call TextfelderEntsperren aufgerufen und ich konnte die Felder editieren.
Nun wollte ich es so oder so ähnlich mit meinem VB.Programm machen, aber ich hänge da seit Tagen fest.
Als Beispiel:
So... funktioniert (logischerweise ) nicht, aber irgendwie weiß ich nicht weiter. Wie mache ich der Call-Anweisung klar, welche Form ich gerade geöffnet habe und welche Controls ich deaktivieren möchte?
Ich hoffe, dass ich mich einigermaßen verständlich gemacht habe und dass das Thema nicht schon mal dran war. Ich habe nämlich nichts gefunden. Lieben Dank für Eure Tips.
LG
Olaf
Falsches Unterforum. Nutze die richtigen Code-Tags. Bitte beachten. Verschoben & editiert ~fufu
ich befasse mich seit neuem mit Visual Basic 2010 und versuche gerade, ein Programm, das ich mal vor Jahren mit VBA (Access) gemacht habe, in VB umzustricken. In dem Programm verwalte ich Kunden, Aufträge etc. (für meinen eigenen Laden).
Zu meinem Anliegen: ich habe etliche Forms, in denen ich beim Öffnen (form_load) die Text-, Combo- und ähnliche Felder sperren möchte, damit der Anwender nicht versehentlich etwas ändert und es nicht merkt. Erst mit Klick auf die Schaltfläche <Bearbeiten> sollen diese Felder zum Edtieren freigegeben werden. Nach dem Speichern werden sie wiederum gesperrt.
Um nicht auf jeder Form das gleiche Programm (nennen wir es "TextfelderSperren") hineinzuschreiben, hatte ich es bei VBA mit einem Modul gemacht. Also vom jeweiligen Formular mit Call TextfelderSperren die entsprechende Sub aufgerufen. Damit wurden die Felder gesperrt und ich hatte das entsprechende Formular vor mir. Mit Klicken auf <Bearbeiten> wurde wiederum die Sub im Modul mit Call TextfelderEntsperren aufgerufen und ich konnte die Felder editieren.
Nun wollte ich es so oder so ähnlich mit meinem VB.Programm machen, aber ich hänge da seit Tagen fest.
Als Beispiel:
VB.NET-Quellcode
- Module1
- Option Explicit On
- Module Module1
- Public Sub TextfelderSperren(frm As Form, ctl As Control)
- For Each ctl In frm.Controls
- If TypeOf ctl Is TextBox Or TypeOf ctl Is MaskedTextBox Then
- ctl.Enabled = False
- End If
- Next
- End Sub
- End Module
- So und jetzt die eigentliche Form:
- Private Sub frmKunden_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- ... das Formular frmKunden wird geladen
- Danach auf das Module1...
- Call TextfelderSperren(frmKunden, ctl)
- End Sub
So... funktioniert (logischerweise ) nicht, aber irgendwie weiß ich nicht weiter. Wie mache ich der Call-Anweisung klar, welche Form ich gerade geöffnet habe und welche Controls ich deaktivieren möchte?
Ich hoffe, dass ich mich einigermaßen verständlich gemacht habe und dass das Thema nicht schon mal dran war. Ich habe nämlich nichts gefunden. Lieben Dank für Eure Tips.
LG
Olaf
Falsches Unterforum. Nutze die richtigen Code-Tags. Bitte beachten. Verschoben & editiert ~fufu
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „fufu“ ()