| |
![zurück](../images/b_zurueck.gif)
VB.NET - Fortgeschritteneformulare ableiten mit MustOverride Methoden | | ![](../images/trans.gif) | Autor: spike24 | Datum: 30.11.05 10:12 |
| grüssi
habe mir ein kleines formular geschrieben
frmAddEdit
diese formular dient zum hinzufügen und bearbeiten von datensätzen
in diesem formular habe ich gewisse funktionen die ich für das hinzufügen oder bearbeiten brauche, z.b. SetValue (lädt aus einer datarow die informationen in die entsprechenden controls -> Geb_Name kommt zu txt_Name)
das wäre ja nicht das problem
ich habe aber auch eine funktion
Saveable
die überprüfen soll, ob alles eingetragen wurde, damit ich problemlos speichern kann
jeder raum, braucht ein gebäude und ein geschoss
da die klasse frmAddEdit ja nicht für jede tabelle weis, was eingetragen werden muss habe ich folgendes konstrukt geschrieben
Protected Function Saveable() As Boolean
Dim msg As New ArrayList
GetSaveCriteria(msg)
If Not msg.Count = 0 Then
Dim text As String = ""
For Each s As String In msg
text &= s & System.Environment.NewLine
Next
MessageBox.Show("Es kann nicht gespeichert werden!" & _
System.Environment.NewLine & _
"es wurde: " & System.Environment.NewLine & _
text, _
"Speichern nicht möglich", MessageBoxButtons.OK, _
MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Return False
End If
Return True
End Function
Protected Overridable Sub GetSaveCriteria(ByRef msg As ArrayList)
End Sub im code des formulars selbst
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnSave.Click
If Not saveable Then Return
... und
Protected Overrides Sub GetSaveCriteria(ByRef msg As ArrayList)
If txt_Name.Text = "" Then
msg.Add("kein Name angegeben")
End If
End Sub funktioniert auch
nur das problem ist, das ich diese funktion (den funktions kopf ) GetSaveCriteria immer selbst hinschreiben muss, das es nur als Overridable deklariert ist und nicht als MustOverride, bei MustOverride habe ich zwar den gewünschten effekt, das er mir den funktionkopf selbst hinschreibt, aber ich muss dann die klass frmAddEdit als MustInherit deklarieren, womit sich der Designer dann nicht mehr auskennt (warum auch immer)
es geht mir zwar nicht um die ein funktion, sondern das system mit MustOverrides gefällt mir eigentlich recht gut und ich würde da gerne mehr solche funktionen deklarieren, das ich dann beim programmieren nur mehr die funktionen ausfüllen muss
beispiele
btnSave und btnCancel könnte ich auf die frmAddEdit selbst legen
InsertData, UpdateData, Init_Temp_Tables, Init_Datagrid, Save_Temp_Tables, Unload_Temp_Tables um nur einige beispiele zu nennen
ich habe im forum schon gesucht und auch einen entsprechenden beitrag gefunden, denn ich dann auch selbst mit beantwortet habe, aber ich hab dem antwort steller geraten auf interfaces zurückzugreifen, jedoch kann ich von frmAddEdit aus nicht auf die interface funktionen einer klasse zugreifen die es beim erstellen von frmAddEdit noch nicht gibt, soweit ich das kapiert habe
wäre toll wenn es da eine lösung geben würde
funktionsköpfe automatisch eintragen und der designer funktioniert noch 0 | ![](../images/trans.gif) |
![](../images/48x48/info.gif) | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
![nach oben](../images/b_top.gif) ![zurück](../images/b_zurueck.gif) |
|
Neu! sevPopUp 2.0 ![sevPopUp für VB/VBA und VB.NET](../images/werbung/sevpopup_100x100.jpg)
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats Access-Tools Vol.1 ![Access-Tools CD Vol.1](../images/werbung/apvol1_68x100.gif)
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|