Laden...

Form und AudioVideoPlayback: Video per Mausklick beenden

Erstellt von R3dNeXX vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.359 Views
R3dNeXX Themenstarter:in
44 Beiträge seit 2008
vor 14 Jahren
Form und AudioVideoPlayback: Video per Mausklick beenden

Hi,

also ich hab eine Form, auf der ich per AudioVideoPlayback ein Video abspiele.
Owner ist auch auf this (Form) gesetzt.

Wie kann ich jetzt auf Maus-Events reagieren ?
Ich kriege diese Events nicht ausgelöst !
KeyPress usw. aber schon.

Ich will das Video beenden, wenn mit der Maus geklickt wurde.

Bitte helft mir !
Schonmal Thx 👍

C
116 Beiträge seit 2004
vor 14 Jahren

Wie versuchst du den auf die Maus-Events zu reagieren? Wenn die Tastatur funktioniert, hast du bestimmt nur das falsche Maus-Event abonniert.

R3dNeXX Themenstarter:in
44 Beiträge seit 2008
vor 14 Jahren

Hi,

ja stimmt, hatte es gerade mitgekriegt.

Auf MouseClick springt er nicht an, aber auf z.B. MouseUp.
Ich reagiere jetzt halt auf MouseUp.

So passt es auch, nur frage ich mich, wieso ich das MouseClick aber nicht erhalten habe.
Hat das vielleicht damit zu tun, dass ich das Video abspiele und dass irgendwie darüber liegt oder so ?

C
116 Beiträge seit 2004
vor 14 Jahren

Ohne Codebeispiel ist das schwer zu sagen, aber eventuell hast du das Event an dem falschen Objekt abonniert.

R3dNeXX Themenstarter:in
44 Beiträge seit 2008
vor 14 Jahren

Nunja ich hab ja nur eine Form.
Auf der spiele ich mein Video ab mit DirectX.AudioVideoPlayback und gebe meinem "Video-Objekt" als Owner meine Form an, es soll also auf der Form abgespielt werden.

...
using Microsoft.DirectX.AudioVideoPlayback;

namespace Prog
{
	/// <summary>
	/// Form, die den Screensaver darstellt.
	/// </summary>
	public partial class frm_Screensaver : Form
	{
		private Video video;


		public frm_Screensaver()
		{
			InitializeComponent();

			video = new Video("D:\\Screensaver.wmv");
			video.Owner = this;
			video.Ending += new EventHandler(video_Ending);
		}

		~frm_Screensaver()
		{
			if (video != null)
				video.Dispose();
		}


		void video_Ending(object sender, EventArgs e)
		{
			video.SeekCurrentPosition(0.5, SeekPositionFlags.AbsolutePositioning);
			video.Play();
		}


		private void frm_Screensaver_Load(object sender, EventArgs e)
		{
			this.BringToFront();
			video.Play();
		}


		private void frm_Screensaver_MouseUp(object sender, MouseEventArgs e)
		{
			video.Stop();
			Frm_Main.IsSaverRunning = false;
			this.Close();
		}
}

Und logischerweise war das Event das der Form.

Ich versteh das nicht... ?(