目前我正在使用一个简单PictureBox
的with GIF file
inside,想知道这是否可行,以及这两个选项之间的区别是什么
这就是我目前使用的PictureBox
:
pictureBox1.BringToFront();
pictureBox1.Dock = DockStyle.None;
pictureBox1.Visible = true;
目前我正在使用一个简单PictureBox
的with GIF file
inside,想知道这是否可行,以及这两个选项之间的区别是什么
这就是我目前使用的PictureBox
:
pictureBox1.BringToFront();
pictureBox1.Dock = DockStyle.None;
pictureBox1.Visible = true;
您可以尝试在 Winforms 中托管 SilverLight。
虽然 SilverLight 旨在用于 Web 浏览器,但 WPF 更适用于桌面,而且 WPF 确实有一个类似的 BusyIndi cator ,它可以从CodePlex-Extended WPF Toolkit下载。
首先定义一个 WPF 用户控件MyBusyIndicator
。
<UserControl x:Class="Stackoverflow.MyBusyIndicator"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<xctk:BusyIndicator IsBusy="True" />
</Grid>
</UserControl>
然后您可以使用 将这个用户控件托管在 Winform 中ElementHost
,首先您添加ElementHost
来自 Form 的设计器,然后在 Form 的构造函数中
public partial class MyForm : Form
{
public MyForm ()
{
InitializeComponent();
this.elementHost1.Child = new Stackoverflow.MyBusyIndicator();
}
}
区别:
虽然BusyIndicator
附带一些属性让您自定义指标,但它增加了对 SL 或 WPF 的依赖。PictureBox
您需要做的就是准备动画 GIF 。有许多用于生成动画 GIF 的工具。