是否可以在Winforms应用程序中显示SilverLight繁忙指示器?

目前我正在使用一个带有GIF file的简单PictureBox ,并想知道这是否可能,如果它做了这两个选项之间的差异

这就是我目前使用PictureBox

 pictureBox1.BringToFront(); pictureBox1.Dock = DockStyle.None; pictureBox1.Visible = true; 

您可以尝试在Winforms中托管SilverLight 。

虽然SilverLight旨在用于Web浏览器,但WPF更像是桌面原生的 ,而WPF确实有一个simimar BusyIndi​​cator ,它可以从CodePlex-Extended WPF Toolkit下载。

首先定义一个WPF用户控件MyBusyIndicator

      

然后你可以使用ElementHost在Winform中托管这个用户控件,首先从Form的设计器中添加ElementHost ,然后在Form的构造函数中

 public partial class MyForm : Form { public MyForm () { InitializeComponent(); this.elementHost1.Child = new Stackoverflow.MyBusyIndicator(); } } 

差异:

虽然BusyIndicator提供了一些属性来让您自定义指标,但它增加了对SL或WPF的依赖。 使用PictureBox您需要做的就是准备动画GIF。 有许多工具可用于生成动画GIF。