不能,你需要自己实现,很简单,记录下三点的坐标,然后用 Math.Sin,Math.Cos,Math.Tan 来计算。
好的,谢谢,正在解决中...我在网上看到一个例子,但是只有后台代码,您能帮我猜测下dot1、dot2、dot3是什么控件吗?本人刚接触CS,别取笑我。。
1 public Form2() 2 { 3 InitializeComponent(); 4 } 5 6 int Dotter = 0; 7 public int Distance2D(int x1, int y1, int x2, int y2) 8 { 9 int result = 0; 10 double part1 = Math.Pow((x2 - x1), 2); 11 double part2 = Math.Pow((y2 - y1), 2); 12 double underRadical = part1 + part2; 13 result = (int)Math.Sqrt(underRadical); 14 return result; 15 } 16 private void pictureBox1_MouseClick(object sender, MouseEventArgs e) 17 { 18 if (Dotter == 1) 19 { 20 dot1.Visible = true; 21 dot1.Location = e.Location; 22 Dotter = 2; 23 } 24 else if (Dotter == 2) 25 { 26 dot2.Visible = true; 27 dot2.Location = e.Location; Dotter = 3; 28 } 29 else if (Dotter == 3) 30 { 31 dot3.Visible = true; 32 dot3.Location = e.Location; 33 Dotter = 4; 34 } 35 else if (Dotter == 4) 36 { 37 dot1.Visible = false; 38 dot2.Visible = false; 39 dot3.Visible = false; 40 Dotter = 1; 41 } 42 anglesize.Text = Convert.ToInt32(Distance2D(dot1.Location, dot2.Location, dot3.Location)).ToString(); 43 } 44 45 private void button1_Click(object sender, EventArgs e) 46 { 47 Dotter = 1; 48 }
@愿得一博友: 看他的代码,好像是用了控件来在图片上显示一个鼠标单击的点,那么最容易的实现的就是用 Label 控件,也可能是他自绘制的控件。
@Launcher: 用控件来在图片上显示一个鼠标单击的点,不错呀,那后台如何获取鼠标点的这个对象啊?
@愿得一博友: 这3个控件(比如Label或者自己写的控件),如果你要简单可以先创建好但是隐藏, 把他们放数组里, 鼠标点击的时候在点击事件参数里获得点击坐标, 然后修改一个控件的Location属性并设置为显示,就像代码中一样. 你要计算的时候使用控件的Location属性,里面有x和y坐标. 坐标有了自然也就可以算出角度了.
@快乐永远: 好呀,太好了~