Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här exemplet visar hur du använder en Thumb kontroll för att ändra storlek på en Canvas kontroll.
Exempel
Kontrollen Thumb innehåller dra-funktioner som kan användas för att flytta eller ändra storlek på kontroller genom att övervaka DragStarted, DragDelta och DragCompleted händelser i Thumb.
Användaren påbörjar en dragåtgärd genom att trycka på den vänstra musknappen när muspekaren har pausats på Thumb kontrollen. Dragåtgärden fortsätter så länge den vänstra musknappen förblir intryckt. Under dragproceduren kan DragDelta inträffa mer än en gång. Varje gång den inträffar ger klassen DragDeltaEventArgs den position som motsvarar ändringen i muspositionen. När användaren släpper den vänstra musknappen är dragåtgärden klar. Dragåtgärden innehåller bara nya koordinater. den flyttar inte automatiskt Thumb.
I följande exempel visas en Thumb kontroll som är det underordnade elementet i en Canvas kontroll. Händelsehanteraren för dess DragDelta-händelse tillhandahåller logiken för att flytta Thumb och ändra storlek på Canvas. Händelsehanterarna för DragStarted- och DragCompleted-händelsen ändrar färgen på Thumb under en dragåtgärd. I följande exempel definieras Thumb.
<Thumb Name="myThumb" Canvas.Left="80" Canvas.Top="80" Background="Blue"
Width="20" Height="20" DragDelta="onDragDelta"
DragStarted="onDragStarted" DragCompleted="onDragCompleted"
/>
I följande exempel visas DragDelta händelsehanterare som flyttar Thumb och ändrar storlek på Canvas som svar på en musrörelse.
void onDragDelta(object sender, DragDeltaEventArgs e)
{
//Move the Thumb to the mouse position during the drag operation
double yadjust = myCanvasStretch.Height + e.VerticalChange;
double xadjust = myCanvasStretch.Width + e.HorizontalChange;
if ((xadjust >= 0) && (yadjust >= 0))
{
myCanvasStretch.Width = xadjust;
myCanvasStretch.Height = yadjust;
Canvas.SetLeft(myThumb, Canvas.GetLeft(myThumb) +
e.HorizontalChange);
Canvas.SetTop(myThumb, Canvas.GetTop(myThumb) +
e.VerticalChange);
changes.Text = "Size: " +
myCanvasStretch.Width.ToString() +
", " +
myCanvasStretch.Height.ToString();
}
}
I följande exempel visas händelsehanteraren DragStarted.
void onDragStarted(object sender, DragStartedEventArgs e)
{
myThumb.Background = Brushes.Orange;
}
Private Sub onDragStarted(ByVal sender As Object, ByVal e As DragStartedEventArgs)
myThumb.Background = Brushes.Orange
End Sub
I följande exempel visas händelsehanteraren DragCompleted.
void onDragCompleted(object sender, DragCompletedEventArgs e)
{
myThumb.Background = Brushes.Blue;
}
Private Sub onDragCompleted(ByVal sender As Object, _
ByVal e As DragCompletedEventArgs)
myThumb.Background = Brushes.Blue
End Sub
Det fullständiga exemplet finns i Exempel på tumdragfunktion.
Se även
.NET Desktop feedback