About the Make a custom time slider Sample
[C#]
TimeSliderDialog.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.esriSystem;
namespace MakeACustomTimeControl2008
{
public partial class TimeSliderDialog : Form
{
private CustomTimeSliderButton m_parent = null;
public TimeSliderDialog(CustomTimeSliderButton parent)
{
InitializeComponent();
m_parent = parent;
ITimeExtent timeExtent = m_parent.GetTimeExtent();
m_datePicker.MinDate = new DateTime(timeExtent.StartTime.QueryTicks());
m_datePicker.MaxDate = new DateTime(timeExtent.EndTime.QueryTicks());
m_datePicker.Value = m_datePicker.MinDate;
}
private void TimeSlider_ValueChanged(object sender, EventArgs e)
{
m_parent.UpdateCurrentTime(0.01 * (double)(m_timeSlider.Value));
}
private void DatePicker_ValueChanged(object sender, EventArgs e)
{
long ticks = m_datePicker.Value.Ticks;
long minTicks = m_datePicker.MinDate.Ticks;
long maxTicks = m_datePicker.MaxDate.Ticks;
double progress = ((double)(ticks - minTicks)) / ((double)(maxTicks - minTicks));
m_parent.UpdateCurrentTime(progress);
}
}
}
[Visual Basic .NET]
TimeSliderDialog.vb
Imports System.Windows.Forms
Imports ESRI.ArcGIS.esriSystem
Partial Public Class TimeSliderDialog
Inherits Form
Private m_parent As CustomTimeSliderButton = Nothing
Public Sub New(ByVal parent As CustomTimeSliderButton)
InitializeComponent()
m_parent = parent
Dim timeExtent As ITimeExtent = m_parent.GetTimeExtent()
m_datePicker.MinDate = New DateTime(timeExtent.StartTime.QueryTicks())
m_datePicker.MaxDate = New DateTime(timeExtent.EndTime.QueryTicks())
m_datePicker.Value = m_datePicker.MinDate
End Sub
Private Sub TimeSlider_ValueChanged(ByVal sender As Object, ByVal e As EventArgs) Handles m_timeSlider.ValueChanged
m_parent.UpdateCurrentTime(0.01 * CDbl(m_timeSlider.Value))
End Sub
Private Sub DateTimePicker_ValueChanged(ByVal sender As Object, ByVal e As EventArgs) Handles m_datePicker.ValueChanged
Dim ticks As Long = m_datePicker.Value.Ticks
Dim minTicks As Long = m_datePicker.MinDate.Ticks
Dim maxTicks As Long = m_datePicker.MaxDate.Ticks
Dim progress As Double = (CDbl(ticks - minTicks)) / (CDbl(maxTicks - minTicks))
m_parent.UpdateCurrentTime(progress)
End Sub
End Class