Verbesserungen an SQL-Handling und UI-Logik
- Neue Methode `frmInvDashboard_Shown` und `frmMonitor_Shown`, um sicherzustellen, dass die Formulare nach dem Anzeigen in den Vordergrund gebracht werden. - Aktualisierung der Bildressourcen in `frmMain.Designer.vb` und `frmMain.resx`. - Verbesserte SQL-Fehlerbehandlung in `LoadOverviewData` und Einführung der Variablen `isCustomSQL`. - Zusätzliche Platzhalterformate für `USER_ID` in `PrepareSQLWithReplacements`. - Gruppierungen in Profilansichten werden entfernt, und Gruppierungen werden nur für `OVERVIEW`-Ansichten erstellt. - Verbesserte Logik für das Öffnen von `frmMonitor` und `frmInvDashboard`, einschließlich Overlay-Anzeige und Fokus-Restore.
This commit is contained in:
@@ -424,4 +424,8 @@ Partial Public Class frmInvDashboard
|
|||||||
BarButtonItemTKredExcel.Enabled = True
|
BarButtonItemTKredExcel.Enabled = True
|
||||||
BarButtonItemTKredPdf.Enabled = True
|
BarButtonItemTKredPdf.Enabled = True
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub frmInvDashboard_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||||
|
Me.BringToFront()
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
8
app/TaskFlow/frmMain.Designer.vb
generated
8
app/TaskFlow/frmMain.Designer.vb
generated
@@ -809,10 +809,10 @@ Partial Class frmMain
|
|||||||
'
|
'
|
||||||
resources.ApplyResources(Me.ImageCollection1, "ImageCollection1")
|
resources.ApplyResources(Me.ImageCollection1, "ImageCollection1")
|
||||||
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
|
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
|
||||||
Me.ImageCollection1.Images.SetKeyName(0, "splittablecells_32x32.png")
|
Me.ImageCollection1.Images.SetKeyName(0, "Overview_small_001.png")
|
||||||
Me.ImageCollection1.Images.SetKeyName(1, "icons8-microsoft-to-do-app-50.png")
|
Me.ImageCollection1.Images.SetKeyName(1, "Profile_small_001.png")
|
||||||
Me.ImageCollection1.Images.SetKeyName(2, "bar2_32x32.png")
|
Me.ImageCollection1.Images.SetKeyName(2, "Monitor_small_001.png")
|
||||||
Me.ImageCollection1.Images.SetKeyName(3, "gaugestylefullcircular_32x32.png")
|
Me.ImageCollection1.Images.SetKeyName(3, "Dashboard_small_001.png")
|
||||||
'
|
'
|
||||||
'GridControlWorkflows
|
'GridControlWorkflows
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -1518,91 +1518,55 @@
|
|||||||
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
|
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
|
||||||
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
|
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
|
||||||
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP
|
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP
|
||||||
BQAAAOITAAAC/QUAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8
|
BQAAAFsLAAACBwMAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAAFzUkdCAK7OHOkA
|
||||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAWfSURBVEhLvZZpUFNXGIYvVbtvM92kdqa1rVUr42hbay1j
|
AAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACnElEQVRIS92Uy2sTURTGC670X5A+
|
||||||
rXVsi61LW+qCrEaQQWAAiRsC4oJiBNlVigurIkkwCghFUdkCAYKI4MqWsINAFrKQ5e2cmxsItJ3pr96Z
|
MnOToBXnmSCIi1ZK1SatTukjRqsVIQrWVZFgSG0IrXTlUtwJWbV1JygKtZlHJq+mj6QlaHfSprgW15/M
|
||||||
d5JJJs/z5TvfOfdS1P90WVEU9YxFpkzK1H/JNIs8Oynkd4RLWYWm3rEJu/TwzP6sJm5oVhM35EIjd19m
|
9DUzJIvWLoo/+LgzZ+4535y5d25T03+DztDQWAKdpZBhXNAYF1TGhfxlCs65x0IW3EiLXqR5Ao2loPNu
|
||||||
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
|
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TreeList_Cockpit.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="TreeList_Cockpit.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
@@ -1715,7 +1679,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
|
||||||
CAAAAk1TRnQBSQFMAgEBAgEAAWgBDAFoAQwBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
CAAAAk1TRnQBSQFMAgEBAgEAAXABDAFwAQwBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
|
|||||||
@@ -1792,28 +1792,32 @@ Public Class frmMain
|
|||||||
|
|
||||||
' ========== SQL VORBEREITEN ==========
|
' ========== SQL VORBEREITEN ==========
|
||||||
Dim oSQLOverview As String
|
Dim oSQLOverview As String
|
||||||
|
Dim isCustomSQL As Boolean = False
|
||||||
If Not String.IsNullOrWhiteSpace(CUSTOM_OVERVIEW_SQL) Then
|
If Not String.IsNullOrWhiteSpace(CUSTOM_OVERVIEW_SQL) Then
|
||||||
LOGGER.Debug($"[LoadOverviewData] Using CUSTOM_OVERVIEW_SQL from TreeList node")
|
LOGGER.Debug($"[LoadOverviewData] Using CUSTOM_OVERVIEW_SQL from TreeList node [{CUSTOM_OVERVIEW_SQL}]")
|
||||||
oSQLOverview = CUSTOM_OVERVIEW_SQL
|
oSQLOverview = CUSTOM_OVERVIEW_SQL
|
||||||
|
isCustomSQL = True
|
||||||
ElseIf Not String.IsNullOrWhiteSpace(_lastUsedOverviewSQL) Then
|
ElseIf Not String.IsNullOrWhiteSpace(_lastUsedOverviewSQL) Then
|
||||||
LOGGER.Debug($"[LoadOverviewData] CUSTOM_OVERVIEW_SQL is empty - using _lastUsedOverviewSQL (e.g. after ValidatorClosed)")
|
LOGGER.Debug($"[LoadOverviewData] CUSTOM_OVERVIEW_SQL is empty - using _lastUsedOverviewSQL (e.g. after ValidatorClosed)")
|
||||||
oSQLOverview = _lastUsedOverviewSQL
|
oSQLOverview = _lastUsedOverviewSQL
|
||||||
|
isCustomSQL = True
|
||||||
Else
|
Else
|
||||||
oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
|
oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If IsDBNull(oSQLOverview) OrElse Not oSQLOverview.ToString.Contains("GROUP_TEXT") Then
|
If IsDBNull(oSQLOverview) Then
|
||||||
If IsDBNull(oSQLOverview) Then
|
LOGGER.Warn("Overview SQL is Null - cannot load overview data")
|
||||||
LOGGER.Warn("Overview SQL is Null - cannot load overview data")
|
NO_WORKFLOW_ITEMS = True
|
||||||
ElseIf Not oSQLOverview.ToString.Contains("GROUP_TEXT") Then
|
GridControlWorkflows.Visible = False
|
||||||
LOGGER.Warn("Overview SQL is not properly configured - missing GROUP_TEXT column - cannot load overview data")
|
bindsourcegrid.DataSource = Nothing
|
||||||
LOGGER.Warn($"Overview SQL so far: {oSQLOverview}")
|
GridControlWorkflows.DataSource = Nothing
|
||||||
Else
|
Return False
|
||||||
LOGGER.Warn("Overview SQL is not properly configured (missing, empty or GROUP_TEXT column not included) - cannot load overview data")
|
End If
|
||||||
LOGGER.Warn($"Overview SQL so far: {oSQLOverview}")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
' GROUP_TEXT-Prüfung nur für Standard-SQL (nicht für Custom/TreeList-SQL)
|
||||||
|
If Not isCustomSQL AndAlso Not oSQLOverview.ToString.Contains("GROUP_TEXT") Then
|
||||||
|
LOGGER.Warn("Overview SQL is not properly configured - missing GROUP_TEXT column - might not load overview data")
|
||||||
|
LOGGER.Warn($"Overview SQL so far: {oSQLOverview}")
|
||||||
NO_WORKFLOW_ITEMS = True
|
NO_WORKFLOW_ITEMS = True
|
||||||
GridControlWorkflows.Visible = False
|
GridControlWorkflows.Visible = False
|
||||||
bindsourcegrid.DataSource = Nothing
|
bindsourcegrid.DataSource = Nothing
|
||||||
@@ -2011,10 +2015,15 @@ Public Class frmMain
|
|||||||
Private Function PrepareSQLWithReplacements(oSQL As String, oProfileID As Integer) As String
|
Private Function PrepareSQLWithReplacements(oSQL As String, oProfileID As Integer) As String
|
||||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||||
oSQL = clsPatterns.ReplaceUserValues(oSQL)
|
oSQL = clsPatterns.ReplaceUserValues(oSQL)
|
||||||
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
LOGGER.Debug("PrepareSQLWithReplacements - Original SQL: " & oSQL)
|
||||||
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
||||||
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
||||||
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
|
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
|
||||||
|
' ===== ZUSÄTZLICHE PLATZHALTER-FORMATE FÜR USER_ID =====
|
||||||
|
oSQL = oSQL.Replace("{#USER#USER_ID}", USER_ID)
|
||||||
|
oSQL = oSQL.Replace("#USER#USER_ID", USER_ID)
|
||||||
|
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
||||||
|
LOGGER.Debug("PrepareSQLWithReplacements - SQL after replacements: " & oSQL)
|
||||||
If oProfileID = 0 Then
|
If oProfileID = 0 Then
|
||||||
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||||
LOGGER.Debug("PrepareSQLWithReplacements called with oProfileID = 0 in OVERVIEW context")
|
LOGGER.Debug("PrepareSQLWithReplacements called with oProfileID = 0 in OVERVIEW context")
|
||||||
@@ -2147,6 +2156,13 @@ Public Class frmMain
|
|||||||
RestoreLayout()
|
RestoreLayout()
|
||||||
COLUMNS_INVISIBLE()
|
COLUMNS_INVISIBLE()
|
||||||
|
|
||||||
|
' ===== GRUPPIERUNG FÜR PROFIL-ANSICHT ENTFERNEN =====
|
||||||
|
' Profil-Ansichten dürfen nicht gruppiert sein - Gruppierung ggf. aus gespeichertem Layout entfernen
|
||||||
|
If GridViewWorkflows.GroupCount > 0 Then
|
||||||
|
LOGGER.Debug($"CreateBasicViewForProfile: Clearing [{GridViewWorkflows.GroupCount}] group(s) from restored layout for profile view")
|
||||||
|
GridViewWorkflows.ClearGrouping()
|
||||||
|
End If
|
||||||
|
|
||||||
' Icon-Spalte konfigurieren
|
' Icon-Spalte konfigurieren
|
||||||
If TL_ICON = True Then
|
If TL_ICON = True Then
|
||||||
Try
|
Try
|
||||||
@@ -3172,6 +3188,7 @@ Public Class frmMain
|
|||||||
|
|
||||||
Private Async Function GridLayout_Reset(Also_decideload As Boolean) As Tasks.Task
|
Private Async Function GridLayout_Reset(Also_decideload As Boolean) As Tasks.Task
|
||||||
|
|
||||||
|
|
||||||
FRONTEND_ACTION = "RESET_LAYOUT"
|
FRONTEND_ACTION = "RESET_LAYOUT"
|
||||||
Await Reset_GridLayout(False)
|
Await Reset_GridLayout(False)
|
||||||
If Also_decideload Then
|
If Also_decideload Then
|
||||||
@@ -3180,10 +3197,18 @@ Public Class frmMain
|
|||||||
|
|
||||||
GridViewWorkflows.OptionsView.ShowViewCaption = False
|
GridViewWorkflows.OptionsView.ShowViewCaption = False
|
||||||
SaveGridLayout()
|
SaveGridLayout()
|
||||||
If GridViewWorkflows.GroupCount = 0 And Not IsNothing(GridViewWorkflows.Columns("GROUP_TEXT")) Then
|
|
||||||
LOGGER.Info("NO GROUPS AFTER GridLayout_Reset Load...")
|
' ===== GRUPPIERUNG NUR FÜR OVERVIEW ERSTELLEN =====
|
||||||
Create_GroupBy_Parts()
|
' Bei Profil-Ansichten (GRID_LOAD_TYPE = PROFILE#xxx) darf nicht gruppiert werden
|
||||||
|
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||||
|
If GridViewWorkflows.GroupCount = 0 AndAlso Not IsNothing(GridViewWorkflows.Columns("GROUP_TEXT")) Then
|
||||||
|
LOGGER.Info("NO GROUPS AFTER GridLayout_Reset Load...")
|
||||||
|
Create_GroupBy_Parts()
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
LOGGER.Debug($"GridLayout_Reset: Skipping Create_GroupBy_Parts for non-OVERVIEW mode [{GRID_LOAD_TYPE}]")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
GridBuilder.WithFontSizeDelta(CONFIG.Config.GridFontSizeDelta)
|
GridBuilder.WithFontSizeDelta(CONFIG.Config.GridFontSizeDelta)
|
||||||
If GridControlWorkflows.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
If GridControlWorkflows.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
|
||||||
FRONTEND_ACTION = FA_NONE
|
FRONTEND_ACTION = FA_NONE
|
||||||
@@ -4611,23 +4636,59 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
|
|||||||
Exit Function
|
Exit Function
|
||||||
End If
|
End If
|
||||||
COCKPIT_MONITOR_ID = oMONITOR_ID
|
COCKPIT_MONITOR_ID = oMONITOR_ID
|
||||||
If Not Application.OpenForms().OfType(Of frmMonitor).Any Then
|
|
||||||
frmMonitor.Show()
|
Dim oHandleMonitor As Object = Nothing
|
||||||
Else
|
Dim overlayMonitor As Boolean = False
|
||||||
MsgBox("Monitor is already open!", MsgBoxStyle.Information, "Information")
|
If Not _overlayActive Then
|
||||||
|
oHandleMonitor = SplashScreenManager.ShowOverlayForm(Me)
|
||||||
|
_overlayActive = True
|
||||||
|
overlayMonitor = True
|
||||||
End If
|
End If
|
||||||
|
Me.Cursor = Cursors.WaitCursor
|
||||||
|
Try
|
||||||
|
If Not Application.OpenForms().OfType(Of frmMonitor).Any Then
|
||||||
|
frmMonitor.Show()
|
||||||
|
End If
|
||||||
|
Finally
|
||||||
|
Me.Cursor = Cursors.Default
|
||||||
|
If overlayMonitor Then
|
||||||
|
_overlayActive = False
|
||||||
|
SplashScreenManager.CloseOverlayForm(oHandleMonitor)
|
||||||
|
End If
|
||||||
|
End Try
|
||||||
|
' ✅ BeginInvoke stellt Activate() ans Ende der Message-Queue –
|
||||||
|
' nach DevExpress' internem Fokus-Restore
|
||||||
|
Me.BeginInvoke(Sub() frmMonitor.Activate())
|
||||||
Case 3
|
Case 3
|
||||||
Dim oCHART_ID As Object = oNode.GetValue("FK_CHART_ID")
|
Dim oCHART_ID As Object = oNode.GetValue("FK_CHART_ID")
|
||||||
If oCHART_ID Is Nothing OrElse IsDBNull(oCHART_ID) Then
|
If oCHART_ID Is Nothing OrElse IsDBNull(oCHART_ID) Then
|
||||||
LOGGER.Warn($"TreeList_Cockpit: TYPE_ID=2 but FK_CHART_ID is Nothing/DBNull - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
|
LOGGER.Warn($"TreeList_Cockpit: TYPE_ID=3 but FK_CHART_ID is Nothing/DBNull - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
|
||||||
Exit Function
|
Exit Function
|
||||||
End If
|
End If
|
||||||
COCKPIT_CHART_ID = oCHART_ID
|
COCKPIT_CHART_ID = oCHART_ID
|
||||||
If Not Application.OpenForms().OfType(Of frmInvDashboard).Any Then
|
|
||||||
frmInvDashboard.Show()
|
Dim oHandleChart As Object = Nothing
|
||||||
Else
|
Dim overlayChart As Boolean = False
|
||||||
MsgBox("Dashboard is already open!", MsgBoxStyle.Information, "Information")
|
If Not _overlayActive Then
|
||||||
|
oHandleChart = SplashScreenManager.ShowOverlayForm(Me)
|
||||||
|
_overlayActive = True
|
||||||
|
overlayChart = True
|
||||||
End If
|
End If
|
||||||
|
Me.Cursor = Cursors.WaitCursor
|
||||||
|
Try
|
||||||
|
If Not Application.OpenForms().OfType(Of frmInvDashboard).Any Then
|
||||||
|
frmInvDashboard.Show()
|
||||||
|
End If
|
||||||
|
Finally
|
||||||
|
Me.Cursor = Cursors.Default
|
||||||
|
If overlayChart Then
|
||||||
|
_overlayActive = False
|
||||||
|
SplashScreenManager.CloseOverlayForm(oHandleChart)
|
||||||
|
End If
|
||||||
|
End Try
|
||||||
|
' ✅ BeginInvoke stellt Activate() ans Ende der Message-Queue –
|
||||||
|
' nach DevExpress' internem Fokus-Restore
|
||||||
|
Me.BeginInvoke(Sub() frmInvDashboard.Activate())
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
LOGGER.Warn($"ProcessTreeListNodeAsync: Unhandled TYPE_ID [{oTypeIdInt}] - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
|
LOGGER.Warn($"ProcessTreeListNodeAsync: Unhandled TYPE_ID [{oTypeIdInt}] - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
|
||||||
|
|||||||
@@ -393,6 +393,7 @@ Public Class frmMonitor
|
|||||||
Private Sub frmMonitor_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
Private Sub frmMonitor_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||||
FormShown = True
|
FormShown = True
|
||||||
Load_Detail()
|
Load_Detail()
|
||||||
|
Me.BringToFront()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
||||||
|
|||||||
Reference in New Issue
Block a user