Tag: 图标

使用SHFILEINFO获取文件图标

我一直在搜索ac#library,它获取了许多大小的给定路径的图标,最后当我得到我需要的类时,它有一个问题: 此方法获取给定路径的图标: public static BitmapSource GetIcon(string FileName, bool small, bool checkDisk, bool addOverlay) { SHFILEINFO shinfo = new SHFILEINFO(); uint SHGFI_USEFILEATTRIBUTES = 0x000000010; uint SHGFI_LINKOVERLAY = 0x000008000; uint flags; if (small) { flags = SHGFI_ICON | SHGFI_SMALLICON; } else { flags = SHGFI_ICON | SHGFI_LARGEICON; } if (!checkDisk) flags |= SHGFI_USEFILEATTRIBUTES; if (addOverlay) flags |= […]

将文件类型图标保存在DATABASE或XML文件中

我正在使用c#,wpf和mvvm。 在我的datagrid中,每一行在最后一个单元格中都有一个ListBox,其中包含与此行相关的文档,我称之为句点。 用户可以向每个时段添加文档。 我想为每个文档显示文件类型图标(16×16)和文档名称。 文件类型图标让我有点头疼。 我不确定我是否应该在数据库中保存每个文件类型图标,如.DOC,因为一天可能有10个周期,每个都有2个.DOC文件,因此我在数据库中保存了20个图标,这些图标是19倍冗余… 我的用户将附加的大多数东西都是Office文件类型,如.xls,.doc,.pdf,images,zip / rar,我想这就是它。 另一个技术上更高级的是将唯一文件类型图标保存为XML文件中的编码base-64字符串,文件类型扩展名为键/值对。 在应用程序启动时,xml一次在字典中加载一次 每次文档进入数据库时​​,我都会检查文件名中的文件扩展名并检索字典以获取该文件的base64字符串。 我仍然可以以某种方式为文件类型base64字符串实现一个缓存机制,所以每次我得到.doc文件时我都不解码它们… 也许你有一个完全不同/更好的? 想法,请让我知道或建议数据库/ xml保存的优点/ disadvantes 🙂

如何设置ico我想在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 […]

C#:使用带有多个图像的.ico文件

我正在尝试使用包含两个图标的.ico文件在C#中的TreeView中设置图像:32×32版本和16×16版本。 图像正在设置,但.Net正在选择32×32版本,并将其缩小(看起来很糟糕),而不是选择现成的16×16图像。 相关代码: ilTree.Images.Add(Properties.Resources.group); ilTree.Images.Add(Properties.Resources.single); ilTree.Images.Add(Properties.Resources.db); treeStored.ImageList = ilTree; 我哪里错了? 回答: 要使其发挥作用,您必须做两件事。 如下所述,第一个是手动为图像列表指定正确的大小。 第二,您可能还需要指定颜色深度。 MSDN声明: 在.NET Framework 1.1或更高版本中,默认值为Depth8Bit。 …但是,这并没有阻止ImageList从我的8位图标中删除颜色。 经过仔细检查,我的图标(有三个)是:4bit,4bit,8bit。 两个4位图标共享调色板,但8位有不同的调色板。 总的来说,图标之间有257种颜色。 尽管只有轻微的溢出,.Net将其降低到仅仅20种颜色。

C#/ WPF:获取shell使用的图标

我正在尝试开发一个应用程序,它可以显示目录的内容,如Windows资源管理器(带有文件名和图标)。 我目前正在使用此代码: public class IconManager { public static ImageSource GetIcon(string path, bool smallIcon, bool isDirectory) { uint flags = SHGFI_ICON | SHGFI_USEFILEATTRIBUTES; if (smallIcon) flags |= SHGFI_SMALLICON; uint attributes = FILE_ATTRIBUTE_NORMAL; if (isDirectory) attributes |= FILE_ATTRIBUTE_DIRECTORY; SHFILEINFO shfi; if (0 != SHGetFileInfo(path, attributes, out shfi, (uint)Marshal.SizeOf(typeof(SHFILEINFO)), flags)) { return System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(shfi.hIcon, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); } return null; […]

如何将图标集上的区域映射到按钮?

我想在我的ASP.NET MVC3网站上使用登录按钮设置( 由Komodo Media提供 )并将图标分配给相应的按钮,但按钮设置是单个图像: 除了使用图像编辑器并将图标分成单独的图像文件之外,还有办法用代码吗? 我知道stackoverflow标记按钮也做了类似的事情,但我不知道如何以编程方式执行相同的操作(也不确定正确的术语): 什么是将图像的不同部分“映射”为单独按钮的正确方法?

如何为从源文件编译的应用程序分配自定义图标?

在我的程序中,我使用CSharpCodeProvider来从源文件编译另一个应用程序,我使用的代码如下: public static bool CompileExecutable(String sourceName) { FileInfo sourceFile = new FileInfo(sourceName); CodeDomProvider provider = null; bool compileOk = false; // Select the code provider based on the input file extension. if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == “.CS”) provider = CodeDomProvider.CreateProvider(“CSharp”); else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == “.VB”) provider = CodeDomProvider.CreateProvider(“VisualBasic”); else { Console.WriteLine(“Source file must have a .cs or […]

将帮助图标添加到WinForms表单标题栏

某些Windows本机应用程序在标题栏上有一个问号图标。 它通常位于右边缘,靠近关闭按钮。 如何在C#WinForms应用程序中执行此操作? 我想要一个适用于Windows XP的解决方案。

Windows 10 NotifyIcon Icon看起来总是非常像素化

我在Windows 10中制作NotifyIcon时遇到问题,其图标资源看起来只是模糊不清。 使用SystemIcons类中的两个图标或使用Properties.Resources自己的图标都会发生这种情况。 我尝试使用Icon (Icon original, int width, int height)构造函数创建一个新的图标实例,以及各种其他疯狂的东西,包括这个块: Icon ico = Icon.FromHandle((new Icon(Resources.InfoIcon, 256, 256).ToBitmap()).GetHicon()); 无济于事。 任何意见,将不胜感激!