ArcObjects Library Reference  

PlayAnimation

About the ArcReaderGlobeControl play animation Sample

[C#]

PlayAnimation.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace PlayAnimation
{
		public partial class PlayAnimation : Form
        {
				public PlayAnimation()
                {                
                InitializeComponent();
                }

				private void btnLoad_Click(object sender, EventArgs e)
				{
				openFileDialog1.Title = "Select Published Map Document";
				openFileDialog1.Filter = "Published Map Documents (*.pmf)|*.pmf";
				openFileDialog1.ShowDialog();

				// Exit if no map document is selected
				string  sFilePath = "";
				sFilePath = openFileDialog1.FileName;
				
						if (sFilePath == null) 
						{
								return;
						}

						// Load the specified pmf
						if (axArcReaderGlobeControl1.CheckDocument(sFilePath)) 
						{
								axArcReaderGlobeControl1.LoadDocument(sFilePath, "");
						}
						else 
						{
								System.Windows.Forms.MessageBox.Show("This document cannot be loaded!");
								return;
						}

						if (axArcReaderGlobeControl1.ARGlobe.AnimationCount != 0)
						{
								//Enable Controls
								enableCommands(true);

								//Populate combo with animations, clearing any existing animations listed previously
								cboAnimations.Items.Clear();
								for (int i = 0; i < axArcReaderGlobeControl1.ARGlobe.AnimationCount; i++)
								{
										cboAnimations.Items.Add(axArcReaderGlobeControl1.ARGlobe.get_AnimationName(i));
										cboAnimations.SelectedIndex=0;
								}
						}
						else
						{
								System.Windows.Forms.MessageBox.Show("This sample requires you load a PMF that contains animations");
								//Disable Controls
								enableCommands(false);
						}

				}

				private void btnPlay_Click(object sender, EventArgs e)
				{
						//Play animation showing or hiding window depending if checkbox is checked
						axArcReaderGlobeControl1.ARGlobe.PlayAnimation(axArcReaderGlobeControl1.ARGlobe.get_AnimationName(cboAnimations.SelectedIndex));
				}

				private void chkShowWindow_CheckedChanged(object sender, EventArgs e)
				{
						//Show or hide window if checkbox is changed
						axArcReaderGlobeControl1.ShowARGlobeWindow(ESRI.ArcGIS.PublisherControls.esriARGlobeWindows.esriARGlobeWindowsAnimation, chkShowWindow.Checked, axArcReaderGlobeControl1.ARGlobe.get_AnimationName(cboAnimations.SelectedIndex));
				}

				private void cboAnimations_SelectedIndexChanged(object sender, EventArgs e)
				{
						//Updates the combo box of the animation window if its present
						axArcReaderGlobeControl1.ShowARGlobeWindow(ESRI.ArcGIS.PublisherControls.esriARGlobeWindows.esriARGlobeWindowsAnimation, chkShowWindow.Checked, axArcReaderGlobeControl1.ARGlobe.get_AnimationName(cboAnimations.SelectedIndex));
				}

				private void PlayAnimation_Load(object sender, EventArgs e)
				{
						//Disable commands
						enableCommands(false);
				}

				private void enableCommands(bool enable)
				{
						cboAnimations.Enabled = enable;
						chkShowWindow.Enabled = enable;
						btnPlay.Enabled = enable;
				}
								
  }
}
[Visual Basic .NET]

PlayAnimation.vb

Imports ESRI.ArcGIS
Public Class PlayAnimation

    <STAThread()> _
    Shared Sub Main()
        'Load runtime 
        If Not RuntimeManager.Bind(ProductCode.ArcReader) Then
            If Not RuntimeManager.Bind(ProductCode.EngineOrDesktop) Then
                MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.")
                System.Environment.Exit(1) ' Force exit or other indication in the application
            End If
        End If

        Application.Run(New PlayAnimation())
    End Sub

    Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
        'Open a file dialog for selecting map documents
        OpenFileDialog1.Title = "Select Published Map Document"
        OpenFileDialog1.Filter = "Published Map Documents (*.pmf)|*.pmf"
        OpenFileDialog1.ShowDialog()

        'Exit if no map document is selected
        Dim sFilePath As String
        sFilePath = OpenFileDialog1.FileName
        If sFilePath = "" Then Exit Sub

        'Load the specified pmf
        If AxArcReaderGlobeControl1.CheckDocument(sFilePath) = True Then
            AxArcReaderGlobeControl1.LoadDocument(sFilePath)
        Else
            MsgBox("This document cannot be loaded!")
            Exit Sub
        End If

        If AxArcReaderGlobeControl1.ARGlobe.AnimationCount <> 0 Then
            'Enable Controls
            enableCommands(True)

            'Populate combo with animations, clearing any existing animations listed previously
            cboAnimations.Items.Clear()
            Dim i As Integer = 0

            Do Until i = AxArcReaderGlobeControl1.ARGlobe.AnimationCount - 1
                cboAnimations.Items.Add(AxArcReaderGlobeControl1.ARGlobe.AnimationName(i))
                cboAnimations.SelectedIndex = 0
                i = i + 1
            Loop
        Else
            System.Windows.Forms.MessageBox.Show("This sample requires you load a PMF that contains animations")
            'Disable Controls
            enableCommands(False)
        End If

    End Sub

    Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlay.Click

        'Play animation showing or hiding window depending if checkbox is checked
        AxArcReaderGlobeControl1.ARGlobe.PlayAnimation(AxArcReaderGlobeControl1.ARGlobe.AnimationName(cboAnimations.SelectedIndex))

    End Sub

    Private Sub chkShowWindow_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkShowWindow.CheckedChanged

        'Show or hide window if checkbox is changed
        AxArcReaderGlobeControl1.ShowARGlobeWindow(ESRI.ArcGIS.PublisherControls.esriARGlobeWindows.esriARGlobeWindowsAnimation, chkShowWindow.Checked, AxArcReaderGlobeControl1.ARGlobe.AnimationName(cboAnimations.SelectedIndex))

    End Sub

    Private Sub cboAnimations_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnimations.SelectedIndexChanged

        'Updates the combo box of the animation window if its present
        AxArcReaderGlobeControl1.ShowARGlobeWindow(ESRI.ArcGIS.PublisherControls.esriARGlobeWindows.esriARGlobeWindowsAnimation, chkShowWindow.Checked, AxArcReaderGlobeControl1.ARGlobe.AnimationName(cboAnimations.SelectedIndex))

    End Sub

    Private Sub PlayAnimation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Disable commands
        enableCommands(False)
    End Sub

    Private Sub enableCommands(ByVal enable As Boolean)
        cboAnimations.Enabled = enable
        chkShowWindow.Enabled = enable
        btnPlay.Enabled = enable
    End Sub

End Class