2013-12-14 4 views
0

Я хотел бы, чтобы приложение воспроизводило флеш-ролик, а затем остановило приложение только с перемещением курсора над ним.Выход из приложения при воспроизведении флеш-ролика

Приложение играет в кино, а затем, когда пользователь хочет, он перемещает курсор, и приложение закрывается из-за этого.

Как я могу это сделать?

+0

Как играть флэш-файл? С контролем? – jAC

+0

'axShockwaveFlash1.Movie = Application.StartupPath + @ "\ bluebirdie00.swf";' и 'axShockwaveFlash1.Play();' Помните, что моя проблема заключается в том, чтобы остановить приложение во время воспроизведения вспышки (нет кнопки для запуска фильма, фильм начинается при запуске приложения) – user2622738

+0

Человек смотрит на фильм, а затем хочет остановить перемещение курсора над фильмом. – user2622738

ответ

0

Так как 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

+0

Очень поучительно :) Спасибо, я все лучшее для вас. – user2622738

 Смежные вопросы

  • Нет связанных вопросов^_^