【发布时间】:2014-10-19 12:57:47
【问题描述】:
我正在制作一个 winforms 应用程序。我希望实现的功能之一是主窗体上的旋转齿轮。
加载主页表单后,您应该将鼠标悬停在齿轮的图片上,并且它应该会旋转到位。
但到目前为止,我只有 RotateFlip,它只是翻转图片。
当鼠标悬停在齿轮上时,有没有办法让齿轮转动到位?
我目前的代码是:
Bitmap bitmap1;
public frmHome()
{
InitializeComponent();
try
{
bitmap1 = (Bitmap)Bitmap.FromFile(@"gear.jpg");
gear1.SizeMode = PictureBoxSizeMode.AutoSize;
gear1.Image = bitmap1;
}
catch (System.IO.FileNotFoundException)
{
MessageBox.Show("There was an error." +
"Check the path to the bitmap.");
}
}
private void frmHome_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(5000);
}
private void frmHome_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
private void pictureBox1_MouseHover(object sender, EventArgs e)
{
bitmap1.RotateFlip(RotateFlipType.Rotate180FlipY);
gear1.Image = bitmap1;
}
就像我说的,我只想转动齿轮。我正在尝试在 Windows 窗体应用程序中执行此操作。使用 C#。框架 4
【问题讨论】:
-
最简单的方法可能是创建一个动画 GIF 并让图片框为您完成工作
-
通过绘制图像(而不是设置它)并转换图形非常简单..
-
您可能想看看my example 这样的东西,它使用当前的、未弃用的.Net Windows UI 技术,它消除了对愚蠢的“所有者绘制”黑客等的需要,并将此任务简化为仅 2 行 DataBinding 的事情。
标签: c# winforms rotation picturebox image-rotation