在 For1 我有这个代码:
private void timer1_Tick(object sender, EventArgs e)
{
try
{
this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Load(file_array_satellite[file_indxs_satellite]);
file_indxs_satellite = file_indxs_satellite - 1;
if (file_indxs_satellite < 0)
{
file_indxs_satellite = file_array_satellite.Length - 1;
}
}
catch
{
timer1.Enabled = false;
}
}
private void satellitesToolStripMenuItem_Click(object sender, EventArgs e)
{
file_array_satellite = Directory.GetFiles(UrlsPath, "RainImage*.*");
if (file_array_satellite.Length > 0)
{
DateTime[] creationTimes8 = new DateTime[file_array_satellite.Length];
for (int i = 0; i < file_array_satellite.Length; i++)
creationTimes8[i] = new FileInfo(file_array_satellite[i]).CreationTime;
Array.Sort(creationTimes8, file_array_satellite);
file_indxs_satellite = 0;
file_indxs_satellite = file_array_satellite.Length - 1;
timer1.Enabled = true;
}
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
this.pictureBox1.Size = new Size(500, 500);
pictureBox1.Location = new Point(this.Bounds.Width / 2,
this.Bounds.Height / 2);
this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.BringToFront();
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
this.pictureBox1.Size = new Size(100, 100);
pictureBox1.Location = new Point(12,
27);
}
在原始图片中,picturebox1 的大小为 100x100,我拉伸每个图像以适合图片框。当它是 100x100 时,一切正常,我在图片框中看到每个图像的动画。
现在我做了一个事件,当我用鼠标进入图片框区域时,它应该移动到表单的中心,将大小调整为 500x500 拉伸图像并显示相同的动画。当我离开图片框区域时,它应该恢复到原来的大小和位置。
当我用鼠标进入pictureBox1 区域时,pictureBox 就消失了,一旦我离开pictureBox 区域,我在任何地方都看不到它,我在它原来的位置和大小上看到它100x100。
为什么当我用鼠标进入 pictureBox1 区域时它消失了,我在尺寸为 500x500 的表格中心看不到它?
file_array_satellite 是 string[] 并且 file_indxs_satellite 是 int。
RainImage*.* 是下载后硬盘上的文件名。
这个想法不是每次我进入或离开时都转换/更改硬盘上的文件大小,所以我希望一旦我进入pictureBox1区域,它将拉伸pictureBox中的当前图像并显示它。它在 100x100 时有效,但在 500x500 时无效。