我在c#中开发语言学习应用程序。 这个应用程序有一个名称是逐字匹配的部分。在这部分我有2列。左栏有主词,右栏有词义。我希望用户点击左栏中的按钮。当释放时单击一条线捕捉到鼠标指针,当点击意义线时,按下右栏的按钮就像在Photoshop中画线一样,或者告诉我更多的语言学习。谢谢。
答案 0 :(得分:2)
您可以为您的应用程序使用Canvas
布局。
我不知道您的代码,但我编码this。
在XAML文件中,Canvas控件如下所示:
<Canvas Name="myCanvas">
<Button Name="btn1" Content="Asia" Width="100" Height="30" Click="btn1_Click" Canvas.Left="201" Canvas.Top="143"/>
<Button Name="btn2" Content="Arabic" Canvas.Left="473" Width="100" Height="30" Canvas.Top="93"/>
</Canvas>
在.CS文件中btn1_Click
函数应该像这样实现:
private void btn1_Click(object sender, RoutedEventArgs e)
{
Point btn1Point = btn1.TransformToAncestor(this).Transform(new Point(0, 0));
Point btn2Point = btn2.TransformToAncestor(this).Transform(new Point(0, 0));
Line l = new Line();
l.Stroke = new SolidColorBrush(Colors.Black);
l.StrokeThickness = 2.0;
l.X1 = btn1Point.X + btn1.ActualWidth;
l.X2 = btn2Point.X;
l.Y1 = btn1Point.Y + btn1.ActualHeight/2;
l.Y2 = btn2Point.Y + btn2.ActualHeight / 2;
myCanvas.Children.Add(l);
}