AxWindowsMediaPlayer ClickEvent zum schließen?

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von fichz.

    AxWindowsMediaPlayer ClickEvent zum schließen?

    Hallo,

    Ich habe das AxWindowsMediaPlayer Plugin in Verwendung.
    Wenn ich in meinem Form Entwurf auf das Plugin doppelklicke, erscheint im Code mein "Enter" Event...
    dort füge ich me.close() zum schliessen der form ein, wenn auf den Player geklick wird.

    Leider tut sich nichts... die form schließt sich nicht.

    Kann mir jemand behilflich sein?


    Edit by Manschula: Warum im Tutorial-Unterforum? --> Thema verschoben

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    Beim Doppelklick auf ein Steuerelement wird das DefaultEvent des Controls als Code abgebildet.
    Sieh dir mal ab ob das Event überhaupt feuert bei einem Klick. Ansonsten gibt es eventuell ein Click Event welches ausgewählt werden kann?

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Beim doppelklicken auf das Steuerelement im Designer
    wirft er mir folgenden Code...

    VB.NET-Quellcode

    1. Private Sub AxWindowsMediaPlayer1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AxWindowsMediaPlayer1.Enter
    2. End Sub


    in diesen Sub füge ich me.close() ein...

    wenn ich jetzt die Form starte schliesst sie sich gleich wieder ohne das ich was geklickt habe...
    Wenn auf den Player geklickt wird, soll sich die Form schließen? Das ist wenig sinnvoll.
    Schließ die Form über das "X" rechts oben oder füge einen Button ein, dort kannst Du ins Click-Event Me.Close() eintragen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    a.setzer schrieb:

    wenn ich jetzt die Form starte schliesst sie sich gleich wieder ohne das ich was geklickt habe...

    Macht ja auch Sin. Da .Enter, wie der Name schon sagt, das "EnterEvent" beschreibt. Im gegensatz zu .Click das, wie der Name sagt, KlickEvent beschreibt
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Es ist eine Fullscreen Anwendung für einen TouchPC.
    Die VollbildPlayer Anwendung soll irgendwie geschlossen werden können, während des abspielen des Videos.
    Also Platz für Button oder ähnliches gibt es hier nicht...
    Deswegen macht es schon sinn, das wenn man auf den Player klickt sich die Form schließt!


    Habe es zwischenzeitlich so gelöst..

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. If MouseButtons = Windows.Forms.MouseButtons.Left Then
    3. Me.Close()
    4. End If
    5. End Sub



    Hatte aber keine Möglichkeit es zu testen am TouchPC, mag es aber zu bezweifeln das es funktioniert, da ich nicht weis ob das clicken aufm Touch gleich gehandelt wird wie der "MouseButton.Left"

    a.setzer schrieb:

    Habe es zwischenzeitlich so gelöst.
    Suboptimal.
    Kannst Du mal einen Screenshot posten?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @ a.setzer
    So wie ich das Verstenden habe, möchtest du (da es für Touch PCs sein
    soll und im Vollbild ausgeführt wird) dass es bei einem Klick auf den
    Player beginnt sich zu schließen?

    Dann verstehe ich nicht warum du es nicht über den ClickEvent im Media Player machst, und da dann deinen Code reinschreibst.

    (WMPlayer ist der Player halt)

    VB.NET-Quellcode

    1. Private Sub WMPlayer_ClickEvent(sender As Object, e As AxWMPLib._WMPOCXEvents_ClickEvent) Handles WMPlayer.ClickEvent
    2. Me.Close()
    3. End Sub


    Währe doch viel einfacher...? :D
    Bellum et Pax.
    Omne initium est difficile.
    -KenJy ;D
    Merci!

    Ganz Ehrlich: Hatte das ClickEvent probiert, musste jedoch einen Fehler drin gehabt haben. Jetzt funktionierts jedenfalls, danke! Dachte schon dass das Control kein ClickEvent besitzt.

    Habe noch ein weiteres anliegen, vielleicht kann mir einer hierzu ein code geben?
    Wie kann ich die inaktivität meines touch abfragen?
    -> Wenn 2minuten keiner was geklickt hat, dann...
    Keine Ahnung. Bei den Steuerelementen bei denen du das halt prüfen willst. Ich kenn dein Programm nicht.
    Hier haste ein Beispiel wie ich es meine:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private WithEvents _timer As New Timer()
    3. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. _timer.Interval = 5000
    5. _timer.Start()
    6. ' An die Steuerelemente hinzufügen
    7. AddHandler Button1.Click, AddressOf TimerReset
    8. AddHandler Button2.Click, AddressOf TimerReset
    9. AddHandler Button4.Click, AddressOf TimerReset
    10. End Sub
    11. Private Sub TimerReset(ByVal sender As Object, e As EventArgs)
    12. _timer.Stop()
    13. _timer.Start()
    14. Debug.Print("Timer Restart")
    15. End Sub
    16. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
    17. Debug.Print("Click")
    18. End Sub
    19. Private Sub _timer_Tick(sender As Object, e As EventArgs) Handles _timer.Tick
    20. Debug.Print("###TICK###" & Date.Now.ToString)
    21. End Sub
    22. End Class


    Hier wird bei allen Buttons (bis auf Button3) der Timer resetet.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten