SL4.마우스 드래그
10672 단어 마우스
XAML:
<Canvas Background="Yellow" Height="195" Name="canvas1" Width="457">
<Ellipse MouseMove="ellipse1_MouseMove" MouseLeftButtonDown="ellipse1_MouseLeftButtonDown"
MouseLeftButtonUp="ellipse1_MouseLeftButtonUp" Fill="Gold" Canvas.Left="118" Canvas.Top="59" Height="100" Name="ellipse1" Stroke="Black" StrokeThickness="3" Width="200" />
</Canvas>
<TextBlock Height="23" Name="tbkPoint" Text="" Width="319" />
XAML.CS:
Point curPos;
bool mouseMoviing = false;
private void ellipse1_MouseMove(object sender, MouseEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
if(mouseMoviing)
{
double currX = e.GetPosition(null).X - curPos.X;
double currY = e.GetPosition(null).Y - curPos.Y;
element.SetValue(Canvas.TopProperty, currY + (double)element.GetValue(Canvas.TopProperty));
element.SetValue(Canvas.LeftProperty,
currX + (double)element.GetValue(Canvas.LeftProperty));
tbkPoint.Text = "Ellipse :"+ curPos.X.ToString() + "," + curPos.Y.ToString();
curPos = e.GetPosition(null);
}
}
private void ellipse1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
curPos = e.GetPosition(null);
mouseMoviing = true;
if(null!=element)
{
element.CaptureMouse();
element.Cursor = Cursors.Hand;
}
}
private void ellipse1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
mouseMoviing = false;
element.ReleaseMouseCapture();
curPos.X = 0;
curPos.Y = 0;
element.Cursor = null;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
좋아하는 키보드, 마우스, 커피☆메리 크리스마스☆ 이 문서는 " "의 25 일째 게시물입니다. 매일 자신이 사용하는 가젯을 소개합니다. 뛰어 들어 무례합니다 m (_ _) m 키보드 히가시 프레 REALFORCE 91UBK-S 회사에서 사용하는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.