0

私は最近C#の作業を開始しましたが、非常にアマチュアです。以下で説明する問題のヘルプがあれば、私にとって非常に役立ちます。

私がやりたかったのは、イベントハンドラーのvideo_panelにもアクセスできることですが、今のところ、メディア要素をグローバルに宣言してその値をvideo_panelに設定しようとしましたが、それでも何をすべきかわかりません。メッセージを表示する代わりに、現在再生中のビデオを一時停止します

namespace Play_pause
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{

  static   int index = 0;
  static  System.Timers.Timer aTimer = new System.Timers.Timer();
    public MainWindow()
    {
        InitializeComponent();
       video_panel.Play();

        // Hook up the Elapsed event for the timer.
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        // Set the Interval to 2 seconds (2000 milliseconds).
        aTimer.Interval = 2000;

        aTimer.Start();




    }

    private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {



        index++;
        if (index %2==0)
        {
            MessageBox.Show("Can't access media element in the event handler/n how to    
            set it global?");




        }

    }    
}

}

4

1 に答える 1

1

ここで回答をもう一度読んでください。変数をグローバルにする方法が示されています。

しかし、これはあなたの問題を解決しません。OnTimedEvent メソッドは静的であるため、静的変数のみにアクセスできます。OnTimedEvent は静的であるべきだとは思わないので、「静的」という単語を削除してみてください。これで、グローバル変数 (例: video_panel) にアクセスできるようになります。

于 2012-10-02T12:43:27.830 に答える