Mein Programm zeigt bei Start die Mainform samt Datenbanktabelle an und prüft dann, ob Einträge überaltert sind - in dem Fall wird ein Fenster/Dialog geöffnet, das eine vereinfachte Liste der betroffenen Einträge anzeigt:
Ich habe dabei zwei Probleme:
1. Ich möchte die Mainform im Windows State = Maximized starten - wenn ich das im Code bei der Aktivierung aufrufe, wird ordentlich zunächst die Hauptform mitsamt Labels und Tabelle geladen und dann steht der Dialog im Vordergrund. Wenn die Mainform dann aber nach Aufruf anderer Fenster (z.B. Datensatz erstellen oder editieren) wieder aktiviert wird, erscheint sie natürlich wieder Maximized, auch wenn der User sie in der Zwischenzeit in der Größe geändert hatte.
Das kann ich natürlich verhindern, wenn ich das direkt im Designer über die Eigenschaften einstelle und nicht mehr im Code aufrufe. Allerdings wird dann die Mainform nicht vollständig geladen, d.h. Menustrip, Grafiken, Labels und Tabelle bleiben komplett leer, bis der Dialog weggeklickt wird.
2. Eigentlich will ich beim Start einen Begrüßungsbildschirm zeigen, den ich ja über Projekteinstellungen auswählen kann. Das funktioniert grundsätzlich, aber leider nicht, wenn der Dialog mit der Aktivierung aufgerufen wird. Dann bleibt die SplashScreen solange wiederum so lange bestehen, bis der Dialog geschlossen wurde - der allerdings zunächst hinter der SplashScreen versteckt ist....
Hierzu habe ich leider nur den Hinweis auf gefunden, der die minimale Anzeigezeit definiert, aber nicht die maximale.
Ich scheine hier die Abfolge der Befehle nicht so ganz zu verstehen... was mache ich denn da nur falsch?
Danke schon mal im Voraus für eure Hilfe,
Ecki P.
Microsoft Windows Home 10
Microsoft Visual Studio Community 2017 / Version 15.8.8
.NET Framework 4.6.1
VB.NET-Quellcode
- Public Sub Form_DataList_Refresh(sender As Object, e As EventArgs) Handles Me.Activated
- ' Intitialisiert das Startfenster bei Programmstart und bei Aktivierung nach Update der Datenbank
- ' FormUpdate und NewStart als globale Variablen definiert - Startwert = True
- Dim datOverDue As New DataTable
- Me.WindowState = FormWindowState.Maximized
- Assign_PreSets()
- ' Wenn Datenbank aktualisiert wurde wird das Datagridview geleert und aktualisiert
- If FormUpdate Then
- Data_ForecastList.Columns.Clear()
- If SQL_Connect() Then
- Create_ForecastList()
- Else
- Form_InputBox.ShowDialog()
- End If
- Check_OrderDate(datOverDue)
- FormUpdate = False
- End If
- ' Nur bei Neustart die Liste der überalterten Einträge aufrufen
- If NewStart Then
- NewStart = False
- If datOverDue.Rows.Count > 0 Then
- Dim frm As Form_OverdueEntries = New Form_OverdueEntries(datOverDue)
- frm.ShowDialog()
- End If
- End If
- End Sub
Ich habe dabei zwei Probleme:
1. Ich möchte die Mainform im Windows State = Maximized starten - wenn ich das im Code bei der Aktivierung aufrufe, wird ordentlich zunächst die Hauptform mitsamt Labels und Tabelle geladen und dann steht der Dialog im Vordergrund. Wenn die Mainform dann aber nach Aufruf anderer Fenster (z.B. Datensatz erstellen oder editieren) wieder aktiviert wird, erscheint sie natürlich wieder Maximized, auch wenn der User sie in der Zwischenzeit in der Größe geändert hatte.
Das kann ich natürlich verhindern, wenn ich das direkt im Designer über die Eigenschaften einstelle und nicht mehr im Code aufrufe. Allerdings wird dann die Mainform nicht vollständig geladen, d.h. Menustrip, Grafiken, Labels und Tabelle bleiben komplett leer, bis der Dialog weggeklickt wird.
2. Eigentlich will ich beim Start einen Begrüßungsbildschirm zeigen, den ich ja über Projekteinstellungen auswählen kann. Das funktioniert grundsätzlich, aber leider nicht, wenn der Dialog mit der Aktivierung aufgerufen wird. Dann bleibt die SplashScreen solange wiederum so lange bestehen, bis der Dialog geschlossen wurde - der allerdings zunächst hinter der SplashScreen versteckt ist....
Hierzu habe ich leider nur den Hinweis auf gefunden, der die minimale Anzeigezeit definiert, aber nicht die maximale.
Ich scheine hier die Abfolge der Befehle nicht so ganz zu verstehen... was mache ich denn da nur falsch?
Danke schon mal im Voraus für eure Hilfe,
Ecki P.
Microsoft Windows Home 10
Microsoft Visual Studio Community 2017 / Version 15.8.8
.NET Framework 4.6.1
Ecki P.
Microsoft Windows Home 10
Microsoft Visual Studio Community 2017 / Version 15.8.8
Microsoft SQL Server Management Studio 14.0.17289.0
.NET Framework 4.6.1
Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!