如何使用C#创建Office 2010中的动画启动画面?
好的,我应该说这个我不确定这是否是解决这个问题的正确方法,但......
基本上我在WPF中创建了一个窗口,用于在我的应用程序中显示通知(有点像Outlook新邮件通知).我想尝试在它自己的线程中显示这个窗口(它可能在将来做一些工作).
我使用WPF创建了Window,因为它在处理AlwaysOnTop和Fading In和Out等方面更加出色.
显示通知的应用程序是3.5 Windows窗体应用程序.我见过类似于这个SOF的例子:C#winforms启动(Splash)表单没有隐藏在一个不同的线程中显示一个Form但是我无法用WPF窗口启动一个新的Message Loop.
我试过在新线程中调用Notification.Show(),但Window永远不会显示.
是否有可能在它自己的线程中显示这个WPF?
为什么我看到一些资源说您不应该在单独的线程中显示任何UI?
我需要在 backgroundworker 中运行一个耗时的过程,在这个过程中我也需要打开一个窗口。一切正常,但是当我在该过程中调用 UI 时,它不允许我在该新窗口中工作,它只显示等待,当我取消后台工作进程时,它也不会取消,尽管我启用了 workersupportcancel。这是我的代码
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
runCheck();
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
}
}
private void newBtncheck_Click(object sender, RibbonControlEventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
private void newBtncheck_Click(object sender, RibbonControlEventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
private void btnStop_Click(object sender, RibbonControlEventArgs e)
{
this.backgroundWorker1.CancelAsync();
}
Run Code Online (Sandbox Code Playgroud)