All of my search attempts on here and the Internet at large have resulted in discussions on how to DISABLE parent form's while a particular child is open. But my project seems to be doing that itself just fine. I do not want it to and I am not sure why it is happening as I do not recall experiencing this with past multi-form projects I've worked on.
I am creating a media player for myself as most of the available ones either do not do certain things that I want and the ones that do have an overabundance of features that make them more cumbersome than I need them to be. There is a full-size mode where all features are available and then a mini mode where only the playback operation buttons (play, pause/unpause, stop, track forward, track back), volume control slider/mute checkbox and position control slider (allows you to move around within the currently playing song by moving the slider around). This allows me (potentially some others) to keep an interface to controling the media player available without taking up all of the real estate that the full-size mode requires. Two of the main features missing are the Display where the name of the artist, song title and album title are shown and then the picturebox where the artwork for the album is shown. So I wanted to create a window that was opened from the mini mode window where the info to be displayed was passed. A button should be pressed to show the small info window which then has a button to close the info window.
The problem that I am experiencing is that when clicking on the button in the mini mode window, I lose all responsiveness of the window. The song will continue playing but clicking the buttons to stop, pause and change tracks no longer work. The volume and position sliders can still be manipulated but they no longer have an effect on the volume or current position of the playing song. This happens both while the small info window is open and even after I have closed it. The button that would be clicked to close the mini-mode form and re-open the full-sized version is disabled in an attempt to get back into mini-mode to reset it to a working state. Of course this would be highly annoying as the user (for now, myself) may want to check out the info on several concurrent songs.
Initially I had created a button where the mousehover state would load the info window and mouseleave event would close the form when the cursor was no longer over the button. But since opening the info form seemingly disables the mini-mode form it is no longer capturing the mouseleave event and therefore the info window would not close. I then change it to a click event of the button opening the window and then a click event on a button in the info form closing the new form. This does make close the info window but the mini-mode form (parent of the info window) is still not usable.
Current code follows:
'Code to open info window from mini-mode form Private Sub InfoPopup_Click(sender As Object, e As EventArgs) Handles InfoPopup.Click Dim Artist As String = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Artist") Dim Title As String = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Title") Dim Album As String = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Album") InitializeComponent() Dim InfoPop = New Form4(Artist, Title, Album) InfoPop.Show() ' Attempt to keep focus on the mini-mode form as there is meant to be ' no interaction between user and the info window other than closing it Me.Focus() Me.Enabled = True End Sub 'All of the code from info window form. Handles position on screen, displaying 'info passed to it by mini-mode form and the button to close the info form. Public Class Form4 Public Sub New(ByVal Artist As String, ByVal Title As String, ByVal Album As String) Dim x As Integer Dim y As Integer x = Screen.PrimaryScreen.WorkingArea.Width - 398 y = Screen.PrimaryScreen.WorkingArea.Height - 410 Me.Location = New Point(x, y) InitializeComponent() Label2.Text = Artist Label4.Text = Title Label6.Text = Album End Sub Private Sub CloseButton_Click(sender As Object, e As EventArgs) Handles CloseButton.Click Me.Close() End Sub End Class
Not only do I want to keep the mini-mode form functioning after the info form has been opened and closed but while it is open as well. While I would normally open to info form to see the artist, song title and album name/art and close it again until another song came on that I wanted to check out...there is the possibily that someone may want to leave the info window open longer as both of those windows are still smaller than the full-size version. So the buttons/sliders of the mini-mode form should still be active and usable while the info window form is still opened.
I apologize for the wordiness of this post but I felt that it would be faster to include as much info as I could now rather than spend time going back and forth asking and answering more questions. But I will gladly answer any others that someone might have to try to help. I greatly appreciate your time!