Csharp/C#教程:发布后图标不起作用分享


发布后图标不起作用

我有一个简单的应用程序。 单击按钮时,tasbar图标会发生变化。 当我从visual studio运行这个应用程序时,一切正常,但是当我发布WPF应用程序时,任务栏图标不起作用(没有)。

构建操作设置为“嵌入式资源/始终复制”,我也测试了“资源”,但它不起作用。

var iconUri = new Uri("pack://application:,,,/images/internet_connection.ico", UriKind.RelativeOrAbsolute); this.Icon = BitmapFrame.Create(iconUri); 

框架左上角的图标会发生变化,但任务栏中的图标不会更改。

有人可以帮我吗?

@编辑,

由于@ Pavel的评论,我得到了它的工作。 但现在仍有一个问题:

当我在visual studio中运行它时,我这样做:

 var iconUri = UriHelper.GetUri(this.GetType(), "images/local_network.ico"); this.Icon = BitmapFrame.Create(iconUri); 

图标发生了变化。 但是对于已发布的版本,它并没有改变。

@@编辑,

好的,这是我按下按钮时的代码:

  var iconUri = UriHelper.GetUri(this.GetType(), "images/internet_connection.ico"); this.Icon = BitmapFrame.Create(iconUri); mNotifyIcon = new NotifyIcon { BalloonTipText = "The app has been minimised. Click the tray icon to show.", BalloonTipTitle = "The App", Text = "The App", Icon = BitmapFrame.Create(iconUri) }; BitmapImage image = new BitmapImage(); image.BeginInit(); image.UriSource = UriHelper.GetUri(this.GetType(), "images/internet_connection.png"); image.EndInit(); TaskbarItemInfo = new System.Windows.Shell.TaskbarItemInfo() { Overlay = image }; 

它的作用:从VS运行时:任务栏中的图标发生变化,叠加层工作,应用程序顶角的图标发生变化。

构建运行exe后:任务栏中的图标不会更改,叠加层工作,应用程序顶角的图标会发生变化。

有谁能解释一下?

我认为这条线适合你(你已经忘记了……;组件/ ….):

 var iconUri = new Uri("pack://application:,,,/YourProjectName;component/images/internet_connection.ico", UriKind.RelativeOrAbsolute); 

用于图标使用

 Build Action = Resource Copy to OutputDirectory = Do not copy 

尝试在“资源”中设置构建操作并使用帮助程序:

上述就是C#学习教程:发布后图标不起作用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public static class UriHelper { ///  /// Gets absulute URI for provided relative path ///  /// Base type for ussage as URI root /// Relative path /// Absolute Uri public static Uri GetUri(Type baseType, string relativePath) { Assembly oAssembly = Assembly.GetAssembly(baseType); AssemblyName oName = oAssembly.GetName(); return new Uri( String.Format( "pack://application:,,,/{0};v{1};component/{2}", oName.Name, oName.Version.ToString(), relativePath), UriKind.Absolute); } } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/956579.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

精彩推荐