Event auf Item in eigener Form festlegen
Manuel Kübler
Ich habe mit Customize eine eigene Form per Code erstellt. Und auf der Form habe ich einen Button plaziert, wie kann ich nun ein Event auf diesen Button legen. Und zwar soll eine Tätigkeit gemacht werden, wenn ich auf den Button klicke, z.B. MessageBox anzeigen, SQL Query ausführenManuel Marhold
Hi Manuel,das wäre das ItemPressed Event.
Button.AddHandler_Pressed()
Ich weiss nicht, ob die Funktion genau so heisst, aber das siehst du dann schon ;)
Manuel Kübler
Danke Manuel, aber wie kann ich nun Funktionen dem Event zuweisen.Manuel Marhold
Hi Manuel,dazu gibt es u.a die samples hier: http://www.coresystems.ch/forum.html?&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=2628
du erstellst dir eine Funktion und must diese bei den Parametern von AddHandler.. angeben.
Sascha Balke
Hi Manuel,hier ein kleines Beispiel:
Button b1 = Button.CreateNew("EIU_B001");
b1.Value = "Öffne irgendwas";
//b1.ButtonType = Button.ButtonTypes.Caption;
b1.ButtonType = Button.ButtonTypes.Image=" deine Grafikdatei";
pVal.Form.AddItem(b1);
pVal.Form.Update();
b1.AddHandler_ItemPressed(ModeComponent.FormModes.ALL, new SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressedEventHandler(delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressed eventVal)
{
try
{
MessageBox.Show("Geöffnet", "OK");
}
catch(System.Exception ex)
{
MessageBox.Show("Fehler beim LinkedButton der Belegnummer: " + ex.Message, "OK");
}
}));
return true;
hth
Manuel Kübler
Vielen Dank. Wie würde das in Visual Basic .NET aussehen?Manuel Marhold
Hi Manuel,http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx
dort pasten, fertig
Manuel Kübler
Habe ich schon gemacht, aber es kommt die Fehlermeldung "Object reference not set to an instance of an object. "Mir geht es nur um das zuweisen eines Events
Manuel Marhold
Hi Manuel,nimm mal:
b1.ButtonType = Button.ButtonTypes.Caption;
//b1.ButtonType = Button.ButtonTypes.Image=" deine Grafikdatei";
Manuel Kübler
Geht immer noch nicht. Es kommt eine Fehlermeldung, das ich kompletten Code posten soll.Mir geht es lediglich um folgende Codezeilen.
b1.AddHandler_ItemPressed(ModeComponent.FormModes.ALL, new SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressedEventHandler(delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressed eventVal)
{
try
{
MessageBox.Show("Geöffnet", "OK");
}
catch(System.Exception ex)
{
MessageBox.Show("Fehler beim LinkedButton der Belegnummer: " + ex.Message, "OK");
}
}));
return true;
Edit: Hat sich mit dem Konvertieren erledigt. Ich hab den Codeschnipsel in einen andere eingebettet und dann durch den Konverter geschickt.
Manuel Kübler
Ich hab es jetzt mal ausprobiert, aber es erscheinen nur Fehlermeldungen.Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/manuel/customize_eventaufitemlegen.jpg]customize_eventaufitemlegen.jpg[/url]
Manuel Marhold
Hi Manuel,da brauchen wir den ganzen Code..
Manuel Kübler
Ich poste hier mal den Code von meiner Testform.
Try
Dim frmTest As SwissAddonFramework.UI.Components.Form = SwissAddonFramework.UI.Components.Form.CreateNewForm("EISG_CUF_SHOW1", "EISG_CUF_SHOW1" + SwissAddonFramework.Utils.UniqueStringGenerator.Next())
frmTest.UniqueID = "frmTest"
frmTest.Height = 380
frmTest.Width = 650
frmTest.Top = 200
frmTest.Left = 300
Dim btnTest As Button = Button.CreateNew()
btnTest.UniqueID = "btnTest"
btnTest.Top = 10
btnTest.Left = 10
btnTest.Width = 100
btnTest.Height = 20
btnTest.Value = "OK"
frmTest.AddItem(btnTest)
btnTest.AddHandler_ItemPressed(ModeComponent.FormModes.ALL, New SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressedEventHandler(Function(ByVal eventVal As SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressed) Do
Try
MessageBox.Show("Geöffnet", "OK")
Catch ex As System.Exception
MessageBox.Show("Fehler beim LinkedButton der Belegnummer: " & ex.Message, "OK")
End Try
Return True
End Function))
frmTest.Load()
Catch ex As Exception
SwissAddonFramework.UI.Dialogs.MessageBox.Show("Es ist beim öffnen der neuen Form ein unerwarteter Fehler aufgetreten!n" + ex.Message, "OK")
End Try
Manuel Marhold
Hi Manuel,bei String zusammenfassen immer "&" nutzen, + ist für Zahlen bei VB
habe das "Do" entfernt.
nicht getestet!
Try
Dim frmTest As SwissAddonFramework.UI.Components.Form = SwissAddonFramework.UI.Components.Form.CreateNewForm("EISG_CUF_SHOW1", "EISG_CUF_SHOW1" & SwissAddonFramework.Utils.UniqueStringGenerator.Next())
frmTest.UniqueID = "frmTest"
frmTest.Height = 380
frmTest.Width = 650
frmTest.Top = 200
frmTest.Left = 300
Dim btnTest As Button = Button.CreateNew()
btnTest.UniqueID = "btnTest"
btnTest.Top = 10
btnTest.Left = 10
btnTest.Width = 100
btnTest.Height = 20
btnTest.Value = "OK"
frmTest.AddItem(btnTest)
btnTest.AddHandler_ItemPressed(ModeComponent.FormModes.ALL, New SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressedEventHandler(Function(ByVal eventVal As SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressed)
Try
MessageBox.Show("Geöffnet", "OK")
Catch ex As System.Exception
MessageBox.Show("Fehler beim LinkedButton der Belegnummer: " & ex.Message, "OK")
End Try
Return True
End Function))
frmTest.Load()
Catch ex As Exception
SwissAddonFramework.UI.Dialogs.MessageBox.Show("Es ist beim öffnen der neuen Form ein unerwarteter Fehler aufgetreten!n" + ex.Message, "OK")
End Try
Manuel Kübler
Ich nutze immer & zum zusammenfügen von Strings. Ich habe diesen Code nur ausm Forum kopiert, das mit den Buttons habe ich dann selber probiert. Aber leider funktioniert es immer noch nicht. Es werden immer noch die selben Fehler angezeigt
0
Please sign in to leave a comment.
Comments
0 comments