# C1.Util.DX.Animation.Storyboard2

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_Animation_Storyboard2" data-uid="C1.Util.DX.Animation.Storyboard2" class="text-break">Storyboard2 Class
</h1>
  <div class="markdown level0 summary"><p>IUIAnimationStoryboard2</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="C1.Util.DX.DisposeBase.html">DisposeBase</a></div>
    <div class="level2"><a class="xref" href="C1.Util.DX.CppObject.html">CppObject</a></div>
    <div class="level3"><a class="xref" href="C1.Util.DX.ComObject.html">ComObject</a></div>
    <div class="level4"><span class="xref">Storyboard2</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
    <div><a class="xref" href="C1.Util.DX.IUnknown.html">IUnknown</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Util.DX.Animation.html">C1.Util.DX.Animation</a></h6>
  <h6><strong>Assembly</strong>: C1.Win.DX.4.8.dll</h6>
  <h5 id="C1_Util_DX_Animation_Storyboard2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Guid(&quot;AE289CD2-12D4-4945-9419-9E41BE034DF2&quot;)]
public class Storyboard2 : ComObject, IDisposable, IUnknown</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;Guid(&quot;AE289CD2-12D4-4945-9419-9E41BE034DF2&quot;)&gt;
Public Class Storyboard2
    Inherits ComObject
    Implements IDisposable, IUnknown</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2__ctor_System_IntPtr_" data-uid="C1.Util.DX.Animation.Storyboard2.#ctor(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.-ctor.html#C1_Util_DX_Animation_Storyboard2__ctor_System_IntPtr_">Storyboard2(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.Animation.Storyboard2.html">Storyboard2</a> class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_Abandon" data-uid="C1.Util.DX.Animation.Storyboard2.Abandon">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.Abandon.html#C1_Util_DX_Animation_Storyboard2_Abandon">Abandon()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::Abandon()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_AddKeyframeAfterTransition_C1_Util_DX_Animation_Transition2_C1_Util_DX_Animation_KeyFrame__" data-uid="C1.Util.DX.Animation.Storyboard2.AddKeyframeAfterTransition(C1.Util.DX.Animation.Transition2,C1.Util.DX.Animation.KeyFrame@)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.AddKeyframeAfterTransition.html#C1_Util_DX_Animation_Storyboard2_AddKeyframeAfterTransition_C1_Util_DX_Animation_Transition2_C1_Util_DX_Animation_KeyFrame__">AddKeyframeAfterTransition(Transition2, out KeyFrame)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::AddKeyframeAfterTransition([In] IUIAnimationTransition2* transition,[Out] __MIDL___MIDL_itf_UIAnimation_0000_0002_0003** keyframe)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_AddKeyframeAtOffset_C1_Util_DX_Animation_KeyFrame_System_Double_C1_Util_DX_Animation_KeyFrame__" data-uid="C1.Util.DX.Animation.Storyboard2.AddKeyframeAtOffset(C1.Util.DX.Animation.KeyFrame,System.Double,C1.Util.DX.Animation.KeyFrame@)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.AddKeyframeAtOffset.html#C1_Util_DX_Animation_Storyboard2_AddKeyframeAtOffset_C1_Util_DX_Animation_KeyFrame_System_Double_C1_Util_DX_Animation_KeyFrame__">AddKeyframeAtOffset(KeyFrame, double, out KeyFrame)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::AddKeyframeAtOffset([In] __MIDL___MIDL_itf_UIAnimation_0000_0002_0003* existingKeyframe,[In] double offset,[Out] __MIDL___MIDL_itf_UIAnimation_0000_0002_0003** keyframe)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_AddTransition_C1_Util_DX_Animation_Variable2_C1_Util_DX_Animation_Transition2_" data-uid="C1.Util.DX.Animation.Storyboard2.AddTransition(C1.Util.DX.Animation.Variable2,C1.Util.DX.Animation.Transition2)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.AddTransition.html#C1_Util_DX_Animation_Storyboard2_AddTransition_C1_Util_DX_Animation_Variable2_C1_Util_DX_Animation_Transition2_">AddTransition(Variable2, Transition2)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::AddTransition([In] IUIAnimationVariable2* variable,[In] IUIAnimationTransition2* transition)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_AddTransitionAtKeyframe_C1_Util_DX_Animation_Variable2_C1_Util_DX_Animation_Transition2_C1_Util_DX_Animation_KeyFrame_" data-uid="C1.Util.DX.Animation.Storyboard2.AddTransitionAtKeyframe(C1.Util.DX.Animation.Variable2,C1.Util.DX.Animation.Transition2,C1.Util.DX.Animation.KeyFrame)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.AddTransitionAtKeyframe.html#C1_Util_DX_Animation_Storyboard2_AddTransitionAtKeyframe_C1_Util_DX_Animation_Variable2_C1_Util_DX_Animation_Transition2_C1_Util_DX_Animation_KeyFrame_">AddTransitionAtKeyframe(Variable2, Transition2, KeyFrame)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::AddTransitionAtKeyframe([In] IUIAnimationVariable2* variable,[In] IUIAnimationTransition2* transition,[In] __MIDL___MIDL_itf_UIAnimation_0000_0002_0003* startKeyframe)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_AddTransitionBetweenKeyframes_C1_Util_DX_Animation_Variable2_C1_Util_DX_Animation_Transition2_C1_Util_DX_Animation_KeyFrame_C1_Util_DX_Animation_KeyFrame_" data-uid="C1.Util.DX.Animation.Storyboard2.AddTransitionBetweenKeyframes(C1.Util.DX.Animation.Variable2,C1.Util.DX.Animation.Transition2,C1.Util.DX.Animation.KeyFrame,C1.Util.DX.Animation.KeyFrame)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.AddTransitionBetweenKeyframes.html#C1_Util_DX_Animation_Storyboard2_AddTransitionBetweenKeyframes_C1_Util_DX_Animation_Variable2_C1_Util_DX_Animation_Transition2_C1_Util_DX_Animation_KeyFrame_C1_Util_DX_Animation_KeyFrame_">AddTransitionBetweenKeyframes(Variable2, Transition2, KeyFrame, KeyFrame)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::AddTransitionBetweenKeyframes([In] IUIAnimationVariable2* variable,[In] IUIAnimationTransition2* transition,[In] __MIDL___MIDL_itf_UIAnimation_0000_0002_0003* startKeyframe,[In] __MIDL___MIDL_itf_UIAnimation_0000_0002_0003* endKeyframe)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_Conclude" data-uid="C1.Util.DX.Animation.Storyboard2.Conclude">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.Conclude.html#C1_Util_DX_Animation_Storyboard2_Conclude">Conclude()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::Conclude()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_Create_C1_Util_DX_Animation_Manager2_" data-uid="C1.Util.DX.Animation.Storyboard2.Create(C1.Util.DX.Animation.Manager2)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.Create.html#C1_Util_DX_Animation_Storyboard2_Create_C1_Util_DX_Animation_Manager2_">Create(Manager2)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.Animation.Storyboard2.html">Storyboard2</a> class.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_Finish_System_Double_" data-uid="C1.Util.DX.Animation.Storyboard2.Finish(System.Double)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.Finish.html#C1_Util_DX_Animation_Storyboard2_Finish_System_Double_">Finish(double)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::Finish([In] double completionDeadline)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_GetTag_System_IntPtr__System_Int32__" data-uid="C1.Util.DX.Animation.Storyboard2.GetTag(System.IntPtr@,System.Int32@)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.GetTag.html#C1_Util_DX_Animation_Storyboard2_GetTag_System_IntPtr__System_Int32__">GetTag(out IntPtr, out int)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::GetTag([Out, Optional] IUnknown** object,[Out, Optional] unsigned int* id)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_GetTag_System_Object__System_Int32__" data-uid="C1.Util.DX.Animation.Storyboard2.GetTag(System.Object@,System.Int32@)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.GetTag.html#C1_Util_DX_Animation_Storyboard2_GetTag_System_Object__System_Int32__">GetTag(out object, out int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the tag.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_HoldVariable_C1_Util_DX_Animation_Variable2_" data-uid="C1.Util.DX.Animation.Storyboard2.HoldVariable(C1.Util.DX.Animation.Variable2)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.HoldVariable.html#C1_Util_DX_Animation_Storyboard2_HoldVariable_C1_Util_DX_Animation_Variable2_">HoldVariable(Variable2)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::HoldVariable([In] IUIAnimationVariable2* variable)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_RepeatBetweenKeyframes_C1_Util_DX_Animation_KeyFrame_C1_Util_DX_Animation_KeyFrame_System_Double_C1_Util_DX_Animation_RepeatMode_C1_Util_DX_Animation_Storyboard2_LoopIterationChangedDelegate_System_IntPtr_System_Boolean_" data-uid="C1.Util.DX.Animation.Storyboard2.RepeatBetweenKeyframes(C1.Util.DX.Animation.KeyFrame,C1.Util.DX.Animation.KeyFrame,System.Double,C1.Util.DX.Animation.RepeatMode,C1.Util.DX.Animation.Storyboard2.LoopIterationChangedDelegate,System.IntPtr,System.Boolean)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.RepeatBetweenKeyframes.html#C1_Util_DX_Animation_Storyboard2_RepeatBetweenKeyframes_C1_Util_DX_Animation_KeyFrame_C1_Util_DX_Animation_KeyFrame_System_Double_C1_Util_DX_Animation_RepeatMode_C1_Util_DX_Animation_Storyboard2_LoopIterationChangedDelegate_System_IntPtr_System_Boolean_">RepeatBetweenKeyframes(KeyFrame, KeyFrame, double, RepeatMode, LoopIterationChangedDelegate, IntPtr, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a loop between two keyframes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_Schedule_System_Double_" data-uid="C1.Util.DX.Animation.Storyboard2.Schedule(System.Double)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.Schedule.html#C1_Util_DX_Animation_Storyboard2_Schedule_System_Double_">Schedule(double)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::Schedule([In] double timeNow,[Out, Optional] UI_ANIMATION_SCHEDULING_RESULT* schedulingResult)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_SetLongestAcceptableDelay_System_Double_" data-uid="C1.Util.DX.Animation.Storyboard2.SetLongestAcceptableDelay(System.Double)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.SetLongestAcceptableDelay.html#C1_Util_DX_Animation_Storyboard2_SetLongestAcceptableDelay_System_Double_">SetLongestAcceptableDelay(double)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::SetLongestAcceptableDelay([In] double delay)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_SetSkipDuration_System_Double_" data-uid="C1.Util.DX.Animation.Storyboard2.SetSkipDuration(System.Double)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.SetSkipDuration.html#C1_Util_DX_Animation_Storyboard2_SetSkipDuration_System_Double_">SetSkipDuration(double)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::SetSkipDuration([In] double secondsDuration)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_SetStoryboardEventHandler_C1_Util_DX_Animation_Storyboard2_StoryboardStatusChangedDelegate_C1_Util_DX_Animation_Storyboard2_StoryboardUpdatedDelegate_System_Boolean_System_Boolean_" data-uid="C1.Util.DX.Animation.Storyboard2.SetStoryboardEventHandler(C1.Util.DX.Animation.Storyboard2.StoryboardStatusChangedDelegate,C1.Util.DX.Animation.Storyboard2.StoryboardUpdatedDelegate,System.Boolean,System.Boolean)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.SetStoryboardEventHandler.html#C1_Util_DX_Animation_Storyboard2_SetStoryboardEventHandler_C1_Util_DX_Animation_Storyboard2_StoryboardStatusChangedDelegate_C1_Util_DX_Animation_Storyboard2_StoryboardUpdatedDelegate_System_Boolean_System_Boolean_">SetStoryboardEventHandler(StoryboardStatusChangedDelegate, StoryboardUpdatedDelegate, bool, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Specifies a handler for storyboard events.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_SetTag_System_IntPtr_System_Int32_" data-uid="C1.Util.DX.Animation.Storyboard2.SetTag(System.IntPtr,System.Int32)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.SetTag.html#C1_Util_DX_Animation_Storyboard2_SetTag_System_IntPtr_System_Int32_">SetTag(IntPtr, int)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IUIAnimationStoryboard2::SetTag([In, Optional] IUnknown* object,[In] unsigned int id)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_SetTag_System_Object_System_Int32_" data-uid="C1.Util.DX.Animation.Storyboard2.SetTag(System.Object,System.Int32)">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.SetTag.html#C1_Util_DX_Animation_Storyboard2_SetTag_System_Object_System_Int32_">SetTag(object, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Sets the tag.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Animation_Storyboard2_op_Explicit_System_IntPtr__C1_Util_DX_Animation_Storyboard2" data-uid="C1.Util.DX.Animation.Storyboard2.op_Explicit(System.IntPtr)~C1.Util.DX.Animation.Storyboard2">
          <a class="xref" href="C1.Util.DX.Animation.Storyboard2.op_Explicit.html#C1_Util_DX_Animation_Storyboard2_op_Explicit_System_IntPtr__C1_Util_DX_Animation_Storyboard2">explicit operator Storyboard2(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs an explicit conversion from <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a> to <a class="xref" href="C1.Util.DX.Animation.Storyboard2.html">Storyboard2</a>.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
