Так как axShockwaveFlash
-объект не поддерживает MouseMove-Events, вам нужно использовать что-то еще, чтобы получить движение мыши.
Я взял Panel
, который содержит метод MouseMove
и перетащил его прямо над Flash-Control.
[Но вы можете, конечно, взять что-то другое (ImageBox
с прозрачным изображением будет делать трюк, тоже).]
Следующая проблема была Panel
, что не поддерживает прозрачность. Я нашел a workaround здесь, на SO.
Так что мой новый TransparentPanel
-класса выглядит следующим образом:
public class TransparentPanel : Panel
{
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020; // WS_EX_TRANSPARENT
return cp;
}
}
protected override void OnPaintBackground(PaintEventArgs e)
{
//base.OnPaintBackground(e);
}
}
Тогда я использовал MouseMove
-Event панели, чтобы закрыть приложение.
private void transparentPanel1_MouseMove(object sender, MouseEventArgs e)
{
this.Close();
}
Вы можете найти образец проекта здесь: DOWNLOAD
Как играть флэш-файл? С контролем? – jAC
'axShockwaveFlash1.Movie = Application.StartupPath + @ "\ bluebirdie00.swf";' и 'axShockwaveFlash1.Play();' Помните, что моя проблема заключается в том, чтобы остановить приложение во время воспроизведения вспышки (нет кнопки для запуска фильма, фильм начинается при запуске приложения) – user2622738
Человек смотрит на фильм, а затем хочет остановить перемещение курсора над фильмом. – user2622738