我正试图移动' x'这些代码创建的。我需要添加什么才能使' x'能够再次移动吗?如果它不在我想要它的位置。
using (Graphics g = Graphics.FromHwnd(pictureBox1.Handle))
{
using (Font myFont = new Font("Calibri", 8))
{
g.DrawString("X", myFont, Brushes.Red, new PointF(e.X, e.Y));
}
}
答案 0 :(得分:0)
不要使用FromHwnd
创建Graphics对象。处理图片框的Paint事件。在那里做所有的绘画(使用e.Graphics)。
当你想要"移动" X,更改paint方法查看的一些变量,并在图片框上调用Refresh。
这是一个简单的例子:
private int posX = 10;
private int posY = 10;
private Font font = new Font("Calibri", 8);
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString("x", font, Brushes.Black, posX, posY);
}
private void pictureBox1_Click(object sender, EventArgs e)
{
posX += 10;
posY += 10;
pictureBox1.Refresh();
}