是否可以在Winforms应用程序中显示SilverLight忙线指示器
本文关键字:SilverLight 显示 指示器 应用程序 Winforms 是否 | 更新日期: 2023-09-27 18:35:38
目前我正在使用一个简单的PictureBox
,里面有GIF file
,想知道这是否可行,以及它是否做了这两个选项之间的区别
这是我目前使用 PictureBox
pictureBox1.BringToFront();
pictureBox1.Dock = DockStyle.None;
pictureBox1.Visible = true;
您可以尝试在Winforms中托管SilverLight。
虽然SilverLight旨在用于Web浏览器,但WPF更原生于桌面,WPF确实有一个类似的BusyIndicator,可以从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>
然后,您可以使用 ElementHost
在 Winform 中承载此用户控件,首先从窗体的设计器添加ElementHost
,然后在窗体的构造函数中
public partial class MyForm : Form
{
public MyForm ()
{
InitializeComponent();
this.elementHost1.Child = new Stackoverflow.MyBusyIndicator();
}
}
区别:
虽然BusyIndicator
附带了一些属性来自定义指示器,但它增加了对 SL 或 WPF 的依赖关系。有了PictureBox
您需要做的就是准备动画 GIF。有许多工具可以生成动画 GIF。