我在窗口的主网格中创建了一个按钮矩阵,并且还为每个按钮创建了一个事件。 我也有一个整数矩阵,它包含每个按钮的一些属性(例如int a [1,2]是按钮btn [1,2]的属性)。 我打算创建一个像迷宫一样的东西,在这个迷宫中,你只能通过骑士(从国际象棋)的方式跨越一个按钮到另一个。我不知道如何找到按钮的坐标,以便我可以更改当前按钮的位置。C#WPF按钮,按钮坐标阵列
Button[,] btn = new Button[25, 25];
for (x = 5; x <= n; x++)
{
for (y = 5; y <= n; y++)
{
btn[x, y] = new Button();
left += 72;
btn[x,y].Margin =new Thickness(left,top,0,0);
btn[x,y].Height = 32;
btn[x,y].Width = 32;
btn[x, y].Click += new RoutedEventHandler(btn_Click);
if (a[x, y] == 2)
btn[x,y].Background = Brushes.Red;
else
btn[x,y].Background = Brushes.Blue;
main.Children.Add(btn[x, y]);
}
left = 0;
top += 72;
}
}
private void btn_Click(object sender, RoutedEventArgs e)
{
}
in btn_Click()你可以这样做:Button btn =(Button)sender; – Dilshod 2013-03-22 14:52:19
@Dilshod真,但要安全'Button btn = sender as Button;',如果发件人没有按钮,则返回'null'而不是抛出异常。 – 2013-03-22 14:58:02
当然你是对的。或者你可以先检查:如果(发件人是按钮){//然后投它} – Dilshod 2013-03-22 14:59:18