Moin!
ich habe diesmal wieder etwas ganz spezielles. Wir haben eine Software im Einsatz die via .net programmiert werden kann. Das Problem ist nur nur, dass der Anbieter in C# arbeitet und der mich Einweisende nicht mit vb.net bekannt ist.
Auf der anderen Seite fehlt mir das Wissen mit dem Aufbau von Controls und dem anhängen von Events.
Es gibt bereits jetzt folgenden Code, der soweit funktioniert.
Die Klasse für das Control:
und dann den Code für den "normalen" Gebrauch:
Nun möchte ich an das ButtonControl ein Click-Event anhängen mit dem Do_ResetWiedervorlage aufgerufen wird.
Das dieses über AddHandler erfolgen muss ist bekannt - aber ich habe keine Ahnung, wo und wie ich dieses einbauen muss.
Auch wenn das schon eine "freche" Frage gibt - vielleicht ist es für den vb.net-Profi einfach dieses zu erkennen und zu helfen?
Gruß Jan
ich habe diesmal wieder etwas ganz spezielles. Wir haben eine Software im Einsatz die via .net programmiert werden kann. Das Problem ist nur nur, dass der Anbieter in C# arbeitet und der mich Einweisende nicht mit vb.net bekannt ist.
Auf der anderen Seite fehlt mir das Wissen mit dem Aufbau von Controls und dem anhängen von Events.
Es gibt bereits jetzt folgenden Code, der soweit funktioniert.
Die Klasse für das Control:
VB.NET-Quellcode
- Imports Mum.Geo.PlugIns
- Imports XSystem
- Imports Mum.Geo.Client.Generic
- Public Class MyApiControlPlugIn
- Inherits ApiControlPlugIn
- Private but1 As XImageButton
- Public Sub New(ByVal ctrl As CTApiControl)
- MyBase.New(ctrl)
- Try
- but1 = New XImageButton()
- but1.BitmapImage = Images.Cut
- but1.HorizontalAlignment = XHorizontalAlignment.Stretch
- but1.VerticalAlignment = XVerticalAlignment.Stretch
- ' Hier wird ein Click-Event benötigt für eine Schaltfläche innerhalb des Controls
- 'but1.Click += but1_Click
- ' als erinnerung, wie es weitergehen kann ...
- ctrl.ControlHost.Children.Add(but1)
- Catch ex As Exception
- MsgBox("Fehler in MyApiControlPlugIn > New" & vbCrLf & ex.ToString)
- End Try
- End Sub
- End Class
und dann den Code für den "normalen" Gebrauch:
VB.NET-Quellcode
- Imports System
- Imports Mum.Geo.PlugIns
- Imports Mum.Geo.Client.Generic
- Imports XSystem
- Imports Mum.Geo.Client.Events
- Imports Microsoft.VisualBasic
- Imports Mum.Geo.DataAccess
- ' *... steht für die Datenbank (am besten immer *)
- ' hinter dem Punkt der Tabellenname
- <GenericFormPlugIn("*.EBL_GRUNDSTUECK")>
- Public Class ResetWiedervorlage
- Inherits GenericFormPlugIn
- Private bt_ResetWiedervorlage As ApiButton = New ApiButton()
- Private _myApiCtrl As MyApiControlPlugIn
- Private _connection As Connection
- Private _EBLog As EBL_ME_Log
- Public Sub New(ByVal genericForm As GenericForm)
- MyBase.New(genericForm)
- _EBLog = New EBL_ME_Log(Me.Application)
- AddHandler bt_ResetWiedervorlage.Click, AddressOf Do_ResetWiedervorlage
- ' Funktion zuweisen die auf den MODE-Wechsel von dem Dialog reagiert
- AddHandler Me.GenericForm.ModeChanging, AddressOf GenericForm_ModeChanging
- bt_ResetWiedervorlage.Content = "Erinnerung zurücksetzen"
- 'Verbindung von dem aktuellen Dialog anzapfen
- _connection = Me.Connection
- End Sub
- Public Overrides Sub Register()
- ' Button OHNE Bild
- 'Me.RegisterApiButton("$EBLDELDATE", bt_ResetWiedervorlage)
- ' nachfolgend wird das BUTTON MIT Bild zugewiesen auf die Schaltfläche
- _myApiCtrl = TryCast(Me.RegisterApiControlEx("$EBLDELDATE", GetType(MyApiControlPlugIn)), MyApiControlPlugIn)
- End Sub
- ''' <summary>
- ''' Button ausblenden, wenn nicht im Auskunftsmodus befindlich
- ''' </summary>
- Private Sub GenericForm_ModeChanging(ByVal sender As Object, ByVal e As ModeChangingEventArgs)
- If e.NewMode = DialogMode.Browse Then
- bt_ResetWiedervorlage.IsVisible = True
- End If
- End Sub
- ''' <summary>
- ''' Zurücksetzen des Wiedervorlagedatums auf einen LEERSTRING
- ''' </summary>
- ''' <remarks></remarks>
- Public Sub Do_ResetWiedervorlage()
- ''' hier steht der Code für die Ausführung beim Click
- End Sub
- Private Function callback() As Mum.Geo.Client.External.ShellExecuteCompleted
- Throw New NotImplementedException
- End Function
- End Class
Nun möchte ich an das ButtonControl ein Click-Event anhängen mit dem Do_ResetWiedervorlage aufgerufen wird.
Das dieses über AddHandler erfolgen muss ist bekannt - aber ich habe keine Ahnung, wo und wie ich dieses einbauen muss.
Auch wenn das schon eine "freche" Frage gibt - vielleicht ist es für den vb.net-Profi einfach dieses zu erkennen und zu helfen?
Gruß Jan