先上一点代码。
//Btn 是已知的button Point pt = Btn.PointToScreen(new System.Windows.Point(0, 0)); MessageBox.Show("Button " + pt.X.ToString() + " " + pt.Y.ToString());
代码运行到这里的时候就会弹出一个消息框显示 Btn 左上角坐标。
当程序最小化时,却出现了。
由于具体原因未知,暂添加代码判断该坐标位于屏幕内(width: 0 ~ height - 1, height : 0 ~ height - 1)
Point pt = RunBtn.PointToScreen(new System.Windows.Point(0, 0)); if (pt.X > 0 && pt.Y > 0 && pt.X <= SystemParameters.PrimaryScreenWidth && pt.Y <= SystemParameters.PrimaryScreenHeight) { MessageBox.Show("Button " + pt.X.ToString() + " " + pt.Y.ToString()); }