是否可以在Winforms应用程序中显示SilverLight繁忙指示器?
目前我正在使用一个带有GIF file
的简单PictureBox
,并想知道这是否可能,如果它做了这两个选项之间的差异
这就是我目前使用PictureBox
:
pictureBox1.BringToFront(); pictureBox1.Dock = DockStyle.None; pictureBox1.Visible = true;
您可以尝试在Winforms中托管SilverLight 。
虽然SilverLight旨在用于Web浏览器,但WPF更像是桌面原生的 ,而WPF确实有一个simimar BusyIndicator ,它可以从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。