XML GUI - Button Click Event Problem

  • VB.NET

    XML GUI - Button Click Event Problem

    hallo,
    ich arbeite gerade an einem XML Parser für GUI Design.

    Mein Problem: wenn ich einen Button insgesammt habe funktioniert das click ereignis, wenn ich mehrere habe kommt nichts
    Wie kann ich das managen, dass bei einem Button-click nur dem Button gehörige Aktion ausführt?

    Code

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim actions As String = ""
    3. Dim forms As New List(Of Form)
    4. Private Sub Form1Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    5. Dim guiConfig As XDocument = XDocument.Load(Application.StartupPath & "/GUI.xml")
    6. Me.Name = "main"
    7. forms.Add(Me)
    8. For Each item As XElement In guiConfig.Descendants("Button")
    9. Dim tmp As New Button()
    10. actions = item.Attribute("action")
    11. AddHandler tmp.Click, AddressOf Clicks
    12. tmp.Name = item.Attribute("name").Value
    13. tmp.Text = item.Value
    14. tmp.Location = New Point(Int32.Parse(item.Attribute("x").Value), Int32.Parse(item.Attribute("y").Value))
    15. For Each frm In forms
    16. If frm.Name = item.Attribute("form") Then
    17. frm.Controls.Add(tmp)
    18. End If
    19. Next
    20. Next
    21. For Each frms As XElement In guiConfig.Descendants("Form")
    22. Dim tmp As New Form()
    23. tmp.Name = frms.Attribute("name")
    24. tmp.Text = frms.Attribute("text")
    25. forms.Add(tmp)
    26. Next frms
    27. End Sub
    28. Private Sub Clicks(sender As Object, e As EventArgs)
    29. If actions.StartsWith("Message(") Then
    30. Dim msg As String = DotNetLib.Others.Anderes.Mid(actions, "'", "'")
    31. MessageBox.Show(msg)
    32. ElseIf actions.StartsWith("ShowForm(") Then
    33. Dim frmname As String = DotNetLib.Others.Anderes.Mid(actions, "'", "'")
    34. For Each l In forms
    35. If l.Name = frmname Then
    36. l.Show()
    37. End If
    38. Next
    39. End If
    40. End Sub
    41. End Class



    GUI-CODE

    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8" ?>
    2. <GUI>
    3. <!-- Forms -->
    4. <Form name="test" text="hello world" />
    5. <!-- Controls -->
    6. <Button form="main" name="btn" x="10" y="10" action="ShowForm('test')">Klick Mich</Button>
    7. <Button form="test" name="close" x="200" y="200" action="CloseForm('')">Schließe Mich</Button>
    8. </GUI>


    Vielen Dank
    *Edit: habs geschaft, ich habe eine neue klasse gemacht die von Button erbt ne neue Property namens action gemacht, und dann sender überprüfen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „filmee24“ ()