在ListView中绘制动画GIF

时间:2016-11-30 08:31:42

标签: c# winforms listview animated-gif

我想在WinForms应用程序中的ListView单元格中绘制动画GIF。 这是我尝试这样做的代码的一部分:

首先我从resorce加载图片:

public partial class MainWindow : Form
{
    Image bmp = Properties.Resources.loader;
    bool animated = false;
    ....

然后我在DrawSubItem上的ListView事件中加载GIF:

private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
    if (e.ColumnIndex == 1)
    {
        if (!animated)
        {
            ImageAnimator.Animate(bmp, new EventHandler((object _o, EventArgs _e) =>
            {
                this.Invalidate();
            }));
            animated = true;
        }

        ImageAnimator.UpdateFrames();
        e.Graphics.DrawImage(bmp, e.Bounds.Location);
    }
    else
    {
        TextRenderer.DrawText(e.Graphics, e.SubItem.Text, this.Font, e.Bounds, SystemColors.ControlText);
    }
}

它显示图像但不显示动画。 如果有人在ListView单元格中绘制动画GIF的示例,我将非常感激。

0 个答案:

没有答案