我简化了这一点,以确保没有其他事情发生。所以我有一个Windows窗体应用程序,1个窗体,1个按钮和1个图片框。以下是我添加的唯一代码。
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
Application.DoEvents();
}
当我在此例程中有断点时,图片显示为旋转。如果没有断点,图片就不会旋转。
有什么想法吗?代码不能变得更简单。
答案 0 :(得分:3)
试试这个:
pictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
pictureBox1.Refresh();
Application.DoEvents();
答案 1 :(得分:3)
您需要在Refresh()
控件上调用Invalidate()
或PictureBox
函数,以便在旋转后更新它。
来自MSDN:无效
使控件的整个表面无效并导致控件 重新绘制。
尝试:使用 Invalidate()
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
pictureBox1.Invalidate();
Application.DoEvents();
}