Imports C1.Win.C1TrueDBGrid Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Public Class frmVertragselementApplikation Dim ApplTree As New TKB.VV.Applikation.clsApplikationTree Dim VertrasgelementApplikation As New TKB.VV.Vertrag.clsVertragselementApplikation Dim msg As New TKB.VV.Utils.MyMessage Friend selectPoint As New System.Drawing.Point() Dim m_SelectedApplication As Integer = 0 Dim Vertragselementnr As Integer = 0 Dim Select_Lizenzelement As Boolean = False Property SelectedApplication() As Integer Get Return m_SelectedApplication End Get Set(ByVal value As Integer) m_SelectedApplication = value End Set End Property Dim m_SelectedApplicationName As String Property SelectedApplicationnName() As String Get Return m_SelectedApplicationName End Get Set(ByVal value As String) m_SelectedApplicationName = value End Set End Property Sub New(ByVal vertragselementnr As Integer, Optional ByVal Select_Fuer_Lizenzlement As Boolean = False) Me.InitializeComponent() Me.Vertragselementnr = vertragselementnr Me.Select_Lizenzelement = Select_Fuer_Lizenzlement End Sub Private Sub frmVertragselementApplikation_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Me.ApplTree = Nothing Me.VertrasgelementApplikation.dispose() msg.dispose() End Sub Private Sub frmVertragselementApplikation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ApplTree.Load_Tree(Me.TreeApplikationen, False) End Sub Private Sub TSBtnSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSelect.Click If Not Me.Select_Lizenzelement Then If Me.TreeApplikationen.SelectedNode.Tag > 0 Then Me.SelectedApplication = Me.TreeApplikationen.SelectedNode.Tag Me.SelectedApplicationnName = Me.TreeApplikationen.SelectedNode.Text Me.Close() End If Exit Sub End If If Me.TreeApplikationen.SelectedNode.Tag > 0 And Me.TreeApplikationen.SelectedNode.ImageIndex < 5 Then Me.SelectedApplication = Me.TreeApplikationen.SelectedNode.Tag Me.SelectedApplicationnName = Me.TreeApplikationen.SelectedNode.Text Me.Close() Else msg.show_standardmessage(307, MsgBoxStyle.Critical) End If Exit Sub If Not Me.Select_Lizenzelement Then If Me.TreeApplikationen.SelectedNode.Tag > 0 Then Dim version As Integer = Check_Version(Me.TreeApplikationen.SelectedNode.Tag, Me.TreeApplikationen.SelectedNode.Text) If version > -1 Then Me.VertrasgelementApplikation.Add_New(Me.Vertragselementnr) Me.VertrasgelementApplikation.iApplikationVersionNr = New SqlInt32(CType(version, Int32)) Me.VertrasgelementApplikation.iApplikationnr = New SqlInt32(CType(Me.TreeApplikationen.SelectedNode.Tag, Int32)) Me.VertrasgelementApplikation.Save_Data() Me.SelectedApplication = Me.TreeApplikationen.SelectedNode.Tag Globals.MyEventHanlder.Vertragsapplikation_Closed() Me.Close() End If Else msg.show_standardmessage(307, MsgBoxStyle.Critical) End If Else If Me.TreeApplikationen.SelectedNode.Tag > 0 Then Me.SelectedApplication = Me.TreeApplikationen.SelectedNode.Tag Me.SelectedApplicationnName = Me.TreeApplikationen.SelectedNode.Text Me.Close() Else msg.show_standardmessage(307, MsgBoxStyle.Critical) End If End If End Sub Private Function Check_Version(ByVal applnr As Integer, ByVal titel As String) As Integer Dim f As New frmVersionSelect(applnr, titel) f.ShowDialog() If f.DialogResult = Windows.Forms.DialogResult.OK Then Return f.Versionnr Else Return -1 End If End Function Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click Me.Close() End Sub Private Sub TreeApplikationen_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeApplikationen.DoubleClick Me.TSBtnSelect_Click(sender, e) End Sub ''' ''' Mousedown-Ereignis auf dem Tree ''' ''' ''' ''' Private Sub TreeStruktur_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeApplikationen.MouseDown Try Dim mouseEvents As MouseEventArgs mouseEvents = e selectPoint.Y = mouseEvents.Y selectPoint.X = mouseEvents.X Me.TreeApplikationen.SelectedNode = Me.TreeApplikationen.GetNodeAt(selectPoint) Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub ContextMenuAuswahl_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuAuswahl.Opening If Me.TreeApplikationen.SelectedNode.Tag < 1 Then Me.ApplikationAuswählenToolStripMenuItem.Enabled = False Else Me.ApplikationAuswählenToolStripMenuItem.Enabled = True End If End Sub Private Sub ApplikationAuswählenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ApplikationAuswählenToolStripMenuItem.Click Me.TSBtnSelect_Click(sender, e) End Sub Private Sub TSTxtSuche_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TSTxtSuche.KeyDown If e.KeyCode = Keys.Enter Then ApplTree.Load_Tree(Me.TreeApplikationen, False, Me.TSTxtSuche.Text, 2) ' Me.TreeApplikationen.SelectedNode = Me.FindNode(Me.TreeApplikationen.Nodes, 0, Me.TSTxtSuche.Text) Try Me.TreeApplikationen.SelectedNode = Me.TreeApplikationen.Nodes(0) Catch End Try End If End Sub ''' ''' Suchen eines Knoten Treeview ''' ''' Nodes des TreeView ''' Tag.Keyvalue ''' Node.Text als Suchbegriff ''' ''' Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode Dim tmpNode As TreeNode For Each _child As TreeNode In _nodeCollection If InStr(UCase(_child.Text), UCase(SearchString)) > 0 Then Return _child End If tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) If Not tmpNode Is Nothing Then Return tmpNode End If Next Return Nothing End Function Private Sub TSTxtSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSTxtSuche.Click End Sub Private Sub tsbtnSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSuche.Click ApplTree.Load_Tree(Me.TreeApplikationen, False, Me.TSTxtSuche.Text, False) ' Me.TreeApplikationen.SelectedNode = Me.FindNode(Me.TreeApplikationen.Nodes, 0, Me.TSTxtSuche.Text) Me.TreeApplikationen.SelectedNode = Me.TreeApplikationen.Nodes(0) End Sub End Class