• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# IconSize类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中IconSize的典型用法代码示例。如果您正苦于以下问题:C# IconSize类的具体用法?C# IconSize怎么用?C# IconSize使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IconSize类属于命名空间,在下文中一共展示了IconSize类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: DropDownToolbarItem

		public DropDownToolbarItem(IDropDownAction action, IconSize iconSize)
		{
			_action = action;

			_actionEnabledChangedHandler = new EventHandler(OnActionEnabledChanged);
			_actionVisibleChangedHandler = new EventHandler(OnActionVisibleChanged);
			_actionAvailableChangedHandler = new EventHandler(OnActionAvailableChanged);
			_actionLabelChangedHandler = new EventHandler(OnActionLabelChanged);
			_actionTooltipChangedHandler = new EventHandler(OnActionTooltipChanged);
			_actionIconSetChangedHandler = new EventHandler(OnActionIconSetChanged);

			_action.EnabledChanged += _actionEnabledChangedHandler;
			_action.VisibleChanged += _actionVisibleChangedHandler;
			_action.AvailableChanged += _actionAvailableChangedHandler;
			_action.LabelChanged += _actionLabelChangedHandler;
			_action.TooltipChanged += _actionTooltipChangedHandler;
			_action.IconSetChanged += _actionIconSetChangedHandler;

			_iconSize = iconSize;

			this.Text = _action.Label;
			this.Enabled = _action.Enabled;
			this.Visible = _action.Visible;
			this.ToolTipText = _action.Tooltip;

			UpdateVisibility();
			UpdateEnablement();
			UpdateIcon();

			this.ShowDropDownArrow = true;

			this.DropDown = new ContextMenuStrip();
			this.DropDown.ImageScalingSize = StandardIconSizes.Small;
			this.DropDownOpening += new EventHandler(OnDropDownOpening);
		}
开发者ID:nhannd,项目名称:Xian,代码行数:35,代码来源:DropDownToolbarItem.cs


示例2: ResolveIcon

        /// <summary>
        /// Resolves icon of the file.
        /// </summary>
        /// <param name="fileExtensionName">The file extension name.</param>
        /// <param name="iconSize">The icon size.</param>
        /// <returns></returns>
        public Stream ResolveIcon(string fileExtensionName, IconSize iconSize)
        {
            string iconManifestPath = string.Empty;
            switch (iconSize)
            {
                case IconSize.Pixel16x16:
                    iconManifestPath = string.Format(SmallIconManifestPathTemplate, fileExtensionName.ToLower());
                    break;
                case IconSize.Pixel50x50:
                    iconManifestPath = string.Format(LargeIconManifestPathTemplate, fileExtensionName.ToLower());
                    break;
            }

            Stream stream = typeof(FileIconApi).Assembly.GetManifestResourceStream(iconManifestPath);
            if (stream == null || stream.Length == 0)
            {
                switch (iconSize)
                {
                    case IconSize.Pixel16x16:
                        stream = typeof(FileIconApi).Assembly.GetManifestResourceStream(SmallMiscellaneousIconManifestPath);
                        break;
                    case IconSize.Pixel50x50:
                        stream = typeof(FileIconApi).Assembly.GetManifestResourceStream(LargeMiscellaneousIconManifestPath);
                        break;
                }
            }

            return stream;
        }
开发者ID:TatumAndBell,项目名称:RapidWebDev-Enterprise-CMS,代码行数:35,代码来源:FileIconApi.cs


示例3: GetIconData

        public static Bitmap GetIconData(string iconId, IconSize iconSize)
        {
            var hash = StockIconCodon.ComputeHashCode(iconId, iconSize);
            if (IconData.ContainsKey(hash))
                return IconData[hash];

            if (!IconStock.ContainsKey(hash))
               throw new Exception("Icon "+iconId+" not available!");

            var iconCodon = IconStock[hash];

            if (!string.IsNullOrEmpty (iconCodon.Resource) || !string.IsNullOrEmpty (iconCodon.File)) {
                Bitmap bitmap;
                Stream stream;
                if (iconCodon.Resource != null)
                    stream = iconCodon.Addin.GetResource (iconCodon.Resource);
                else
                    stream = File.OpenRead (iconCodon.Addin.GetFilePath (iconCodon.File));
                using (stream) {
                    if (stream == null || stream.Length < 0) {
                        throw new Exception(string.Format("Did not find resource '{0}' in addin '{1}' for icon '{2}'",
                                                    iconCodon.Resource, iconCodon.Addin.Id, iconCodon.StockId));
                    }
                    bitmap = (Bitmap) Image.FromStream(stream);
                }

                IconData[hash] = bitmap;
            }

            return IconData[hash];
        }
开发者ID:tritao,项目名称:flood,代码行数:31,代码来源:IconManager.cs


示例4: GetDirectoryIcon

        public static ImageSource GetDirectoryIcon(string path, int iconIndex, IconSize size = IconSize.Small)
        {
            ImageSource imageSource = null;

                if (IconsDictionary.TryGetValue(iconIndex, out imageSource))
                {
                    return imageSource;
                }
                Int32Rect sizeRect;
                WinAPI.SHGFI flags;
                if (IconSize.Small == size)
                {
                    flags = commonFlags | WinAPI.SHGFI.SHGFI_SMALLICON;
                    sizeRect = new Int32Rect(0, 0, 16, 16);
                }
                else
                {
                    flags = commonFlags | WinAPI.SHGFI.SHGFI_LARGEICON;
                    sizeRect = new Int32Rect(0, 0, 32, 32);
                }
                WinAPI.SHFILEINFO shfileinfo = new WinAPI.SHFILEINFO();
                WinAPI.SHGetFileInfo(path, 256, out shfileinfo, (uint) Marshal.SizeOf(shfileinfo), flags);
                if (shfileinfo.hIcon == IntPtr.Zero)
                {
                    return GetIcon(path);
                }
                imageSource = Imaging.CreateBitmapSourceFromHIcon(shfileinfo.hIcon, sizeRect,
                    BitmapSizeOptions.FromEmptyOptions());
                IconsDictionary.Add(iconIndex, imageSource);
                WinAPI.DestroyIcon(shfileinfo.hIcon);
                shfileinfo.hIcon = IntPtr.Zero;

                return imageSource;
        }
开发者ID:sagamors,项目名称:FileExplorer,代码行数:34,代码来源:IconExtractor.cs


示例5: GetFileIcon

        /// <summary>
        /// Returns an icon for a given file - indicated by the Name parameter.
        /// </summary>
        /// <param Name="Name">Pathname for file.</param>
        /// <param Name="size">Large or small</param>
        /// <param Name="linkOverlay">Whether to include the link icon</param>
        /// <returns>System.Drawing.Icon</returns>
        public static Icon GetFileIcon(string name, IconSize size, bool linkOverlay)
        {
            Shell32.SHFILEINFO shfi = new Shell32.SHFILEINFO();
            uint flags = Shell32.SHGFI_ICON | Shell32.SHGFI_USEFILEATTRIBUTES;

            if (linkOverlay) flags += Shell32.SHGFI_LINKOVERLAY;

            /* Check the size specified for return. */
            if (IconSize.Small == size)
            {
                flags += Shell32.SHGFI_SMALLICON;
            }
            else
            {
                flags += Shell32.SHGFI_LARGEICON;
            }

            Shell32.SHGetFileInfo(name,
                                  Shell32.FILE_ATTRIBUTE_NORMAL,
                                  ref shfi,
                                  (uint)Marshal.SizeOf(shfi),
                                  flags);

            Icon.FromHandle(shfi.hIcon); // Load the icon from an HICON handle

            // Now clone the icon, so that it can be successfully stored in an ImageList
            Icon icon = (Icon)Icon.FromHandle(shfi.hIcon).Clone();
            return icon;
        }
开发者ID:nullkuhl,项目名称:fsu-dev,代码行数:36,代码来源:IconHelper.cs


示例6: GetFileIcon

        /// <summary>
        /// Returns an icon for a given file - indicated by the name parameter.
        /// </summary>
        /// <param name="name">Pathname for file.</param>
        /// <param name="size">Large or small</param>
        /// <param name="linkOverlay">Whether to include the link icon</param>
        /// <returns>Icon</returns>
        public static Icon GetFileIcon(string name, IconSize size, bool linkOverlay)
        {
            var shfi = new Shell32.SHFILEINFO();
            var flags = Shell32.SHGFI_ICON | Shell32.SHGFI_USEFILEATTRIBUTES;

            if (linkOverlay) flags += Shell32.SHGFI_LINKOVERLAY;

            /* Check the size specified for return. */
            if (IconSize.Small == size) {
                flags += Shell32.SHGFI_SMALLICON;
            } else {
                flags += Shell32.SHGFI_LARGEICON;
            }

            //Shell32.SHGetFileInfo(name,
            //    Shell32.FILE_ATTRIBUTE_NORMAL,
            //    ref shfi,
            //    (uint)Marshal.SizeOf(shfi),
            //    flags);

            //// Copy (clone) the returned icon to a new object, thus allowing us to clean-up properly
            //var icon = (Icon)Icon.FromHandle(shfi.hIcon).Clone();
            //User32.DestroyIcon(shfi.hIcon);		// Cleanup
            //return icon;
            return GetIcon(flags, name, Shell32.FILE_ATTRIBUTE_NORMAL);
        }
开发者ID:davidbitton,项目名称:wpFolderPicker,代码行数:33,代码来源:IconHelper.cs


示例7: GetImage

        public Bitmap GetImage(IconSize imageSize)
        {
            if (!File.Exists(_imagePath))
                return null;

            if (PathEx.HasExtension(_imagePath, FileExtensions.Executable) ||
                PathEx.HasExtension(_imagePath, FileExtensions.Shortcut) ||
                PathEx.HasExtension(_imagePath, FileExtensions.Icon))
            {
                return GetIcon(imageSize);
            }

            try
            {
                return new Bitmap(_imagePath);
            }
            catch (ArgumentException ex)
            {
                // Unable to convert to an image, assume it's an exe/ico/lnk file even though the extension is wrong.
                if (Log.IsDebugEnabled)
                    Log.DebugFormat("Failed to convert {0} to a image, trying to convert to an icon instead: {1}", _imagePath, ex);

                return GetIcon(imageSize);
            }
            catch (IOException ex)
            {
                // Unable to convert to an image, assume it's an exe/ico/lnk file even though the extension is wrong.
                if (Log.IsDebugEnabled)
                    Log.DebugFormat("Failed to convert {0} to a image, trying to convert to an icon instead: {1}", _imagePath, ex);

                return GetIcon(imageSize);
            }
        }
开发者ID:notsonormal,项目名称:AstoundingDock,代码行数:33,代码来源:ApplicationIcon.cs


示例8: GetFileBasedFSBitmap

        protected Bitmap GetFileBasedFSBitmap(string ext, IconSize size)
        {
            string lookup = tempPath;
            Bitmap folderBitmap = KeyToBitmap(lookup, size);
            if (ext != "")
            {
                ext = ext.Substring(0, 1).ToUpper() + ext.Substring(1).ToLower();

                using (Graphics g = Graphics.FromImage(folderBitmap))
                {
                    g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;

                    Font font = new Font("Comic Sans MS", folderBitmap.Width / 5, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic);
                    float height = g.MeasureString(ext, font).Height;
                    float rightOffset = folderBitmap.Width / 5;

                    if (size == IconSize.small)
                    {
                        font = new Font("Arial", 5, System.Drawing.FontStyle.Bold);
                        height = g.MeasureString(ext, font).Height;
                        rightOffset = 0;
                    }


                    g.DrawString(ext, font,
                                System.Drawing.Brushes.Black,
                                new RectangleF(0, folderBitmap.Height - height, folderBitmap.Width - rightOffset, height),
                                new StringFormat(StringFormatFlags.DirectionRightToLeft));

                }
            }

            return folderBitmap;
        }
开发者ID:kolan72,项目名称:QuickZip.IO.PIDL.UserControls,代码行数:34,代码来源:ExToIconConverter.cs


示例9: IconFromExtension

        /// <summary>
        /// Get Windows-Icon for the Extension of a file
        /// </summary>
        /// <param name="Extension">ext of tile</param>
        /// <param name="Size">IconSize</param>
        /// <returns>Icon for this extension</returns>
        public static Icon IconFromExtension(string Extension, IconSize Size)
        {
            Icon icon = null;
            try
            {
                //add '.' if necessary
                if (Extension[0] != '.') Extension = '.' + Extension;

                //search registry for the file extension
                RegistryKey Root = Registry.ClassesRoot;
                RegistryKey ExtensionKey = Root.OpenSubKey(Extension);
                ExtensionKey.GetValueNames();
                RegistryKey appKey = Root.OpenSubKey(ExtensionKey.GetValue("").ToString());

                //gets the name of the file that has the icon.
                string IconLocation = appKey.OpenSubKey("DefaultIcon").GetValue("").ToString();
                string[] IconPath = IconLocation.Split(',');

                if (IconPath[1] == null) IconPath[1] = "0";
                IntPtr[] Large = new IntPtr[1];
                IntPtr[] Small = new IntPtr[1];

                //extracts the icon from the file.
                ExtractIconEx(IconPath[0], Convert.ToInt16(IconPath[1]), Large, Small, 1);
                icon = Size == IconSize.Large ? Icon.FromHandle(Large[0]) : Icon.FromHandle(Small[0]);
            }
            catch (Exception e)
            {
                Util.Debug("Icon konnte nicht extrahiert werden!", e);
            }
            return icon;
        }
开发者ID:BackupTheBerlios,项目名称:lyra2-svn,代码行数:38,代码来源:FileLauncher.cs


示例10: GetIcon

        /// <summary>
        ///		Get system icon for specified folder/file
        /// </summary>
        /// <param name="path"> Full path to a folder or file </param>
        /// <param name="type"> Type: folder or file </param>
        /// <param name="size"> Icon size: small or large</param>
        /// <param name="isOpen"> Is open icon (applicable for folders only) </param>
        /// <returns></returns>
        public static Icon GetIcon(string path, ItemType type, IconSize size, bool isOpen)
        {
            var flags = SHGFI_ICON | SHGFI_USEFILEATTRIBUTES;
            var attribute = (type == ItemType.Folder) ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_FILE;
            if (isOpen)
                flags += SHGFI_OPENICON;

            if (size == IconSize.Small)
                flags += SHGFI_SMALLICON;
            else
                flags += SHGFI_LARGEICON;

            var shfi = new SHFileInfo();
            var res = SHGetFileInfo(path, attribute, out shfi, (uint)Marshal.SizeOf(shfi), flags);
            if (Equals(res, IntPtr.Zero))
                throw Marshal.GetExceptionForHR(Marshal.GetHRForLastWin32Error());
            try
            {
                Icon.FromHandle(shfi.hIcon);
                return (Icon)Icon.FromHandle(shfi.hIcon).Clone();
            }
            finally
            {
                DestroyIcon(shfi.hIcon);
            }
        }
开发者ID:AKlaus,项目名称:WPF,代码行数:34,代码来源:SystemIcon.cs


示例11: thumbnailInfo

 public thumbnailInfo(WriteableBitmap b, string path, IconSize size, int rol)
 {
     bitmap = b;
     fullPath = path;
     iconsize = size;
     roll = rol;
 }
开发者ID:kolan72,项目名称:QuickZip.IO.PIDL.UserControls,代码行数:7,代码来源:IconConverterBase.cs


示例12: TextBoxToolbarItem

		public TextBoxToolbarItem(ITextBoxAction action, IconSize iconSize)
		{
			_action = action;

			_actionEnabledChangedHandler = new EventHandler(OnActionEnabledChanged);
			_actionVisibleChangedHandler = new EventHandler(OnActionVisibleChanged);
			_actionAvailableChangedHandler = new EventHandler(OnActionAvailableChanged);
			_actionLabelChangedHandler = new EventHandler(OnActionLabelChanged);
			_actionTooltipChangedHandler = new EventHandler(OnActionTooltipChanged);
			_actionIconSetChangedHandler = new EventHandler(OnActionIconSetChanged);
			_actionTextBoxValueChangedHandler = new EventHandler(OnActionTextBoxValueChanged);
			_actionCueTextChangedHandler = new EventHandler(OnActionCueTextChanged);

			_action.EnabledChanged += _actionEnabledChangedHandler;
			_action.VisibleChanged += _actionVisibleChangedHandler;
			_action.AvailableChanged += _actionAvailableChangedHandler;
			_action.LabelChanged += _actionLabelChangedHandler;
			_action.TooltipChanged += _actionTooltipChangedHandler;
			_action.IconSetChanged += _actionIconSetChangedHandler;
			_action.TextValueChanged += _actionTextBoxValueChangedHandler;
			_action.CueTextChanged += _actionCueTextChangedHandler;

			_iconSize = iconSize;

			this.Text = _action.TextValue;
			this.Enabled = _action.Enabled;
			SetTooltipText();
			UpdateCueBanner();
			UpdateVisibility();
			UpdateEnablement();
			UpdateIcon();

		}
开发者ID:m-berkani,项目名称:ClearCanvas,代码行数:33,代码来源:TextBoxToolbarItem.cs


示例13: GetDefaultDirectoryIcon

 /// <summary>
 ///     The current Windows default Folder Icon in the given Size (Large/Small) as System.Drawing.Icon.
 /// </summary>
 /// <param name="size">The Size of the Icon (Small or Large).</param>
 /// <param name="folderType">The folderTypeIcon (closed or Open).</param>
 /// <returns>The Folder Icon as System.Drawing.Icon.</returns>
 public static Icon GetDefaultDirectoryIcon(IconSize size, FolderType folderType)
 {
     var flags = ShgfiIcon | ShgfiUsefileattributes;
     if (FolderType.Open == folderType)
     {
         flags += ShgfiOpenicon;
     }
     if (IconSize.Small == size)
     {
         flags += ShgfiSmallicon;
     }
     else
     {
         flags += ShgfiLargeicon;
     }
     var shfi = new Structs.Shfileinfo();
     var res = DllImports.SHGetFileInfo(@"C:\Windows", FileAttributeDirectory, out shfi, (uint) Marshal.SizeOf(shfi), flags);
     if (res == IntPtr.Zero)
     {
         throw Marshal.GetExceptionForHR(Marshal.GetHRForLastWin32Error());
     }
     Icon.FromHandle(shfi.hIcon);
     var icon = (Icon) Icon.FromHandle(shfi.hIcon).Clone();
     DllImports.DestroyIcon(shfi.hIcon);
     return icon;
 }
开发者ID:Belial09,项目名称:Fesslersoft-WindowsAPI,代码行数:32,代码来源:SHGetFileInfo.cs


示例14: GetFileIcon

        /// <summary>
        /// Returns an icon for a given file - indicated by the name parameter</summary>
        /// <param name="name">Pathname for file</param>
        /// <param name="size">Large or small icon</param>
        /// <param name="linkOverlay">Whether to include the link icon</param>
        /// <returns>Icon</returns>
        public static Icon GetFileIcon(string name, IconSize size, bool linkOverlay)
        {
            Shell32.SHFILEINFO shfi = new Shell32.SHFILEINFO();
            uint flags = Shell32.SHGFI_ICON | Shell32.SHGFI_USEFILEATTRIBUTES;

            if (linkOverlay) flags += Shell32.SHGFI_LINKOVERLAY;

            // Check the size specified for return.
            if (IconSize.Small == size)
            {
                flags += Shell32.SHGFI_SMALLICON;
            }
            else
            {
                flags += Shell32.SHGFI_LARGEICON;
            }

            Shell32.SHGetFileInfo(name,
                Shell32.FILE_ATTRIBUTE_NORMAL,
                ref shfi,
                (uint)System.Runtime.InteropServices.Marshal.SizeOf(shfi),
                flags);

            // Copy (clone) the returned icon to a new object, thus allowing us to clean-up properly
            Icon icon = (Icon)Icon.FromHandle(shfi.hIcon).Clone();
            User32.DestroyIcon(shfi.hIcon);        // Cleanup
            return icon;
        }
开发者ID:sbambach,项目名称:ATF,代码行数:34,代码来源:FileIconUtil.cs


示例15: GetFolderIcon

        public static System.Drawing.Icon GetFolderIcon(string name, IconSize size, FolderType folderType)
        {
            Shell32.SHFILEINFO shfi = new Shell32.SHFILEINFO();
            uint flags = Shell32.SHGFI_ICON | Shell32.SHGFI_USEFILEATTRIBUTES;

            if (FolderType.Open == folderType)
            {
                flags += Shell32.SHGFI_OPENICON;
            }

            //if (true == linkOverlay) flags += Shell32.SHGFI_LINKOVERLAY;

            /* Check the size specified for return. */
            if (IconSize.Small == size)
            {
                flags += Shell32.SHGFI_SMALLICON;
            }
            else
            {
                flags += Shell32.SHGFI_LARGEICON;
            }

            Shell32.SHGetFileInfo(name,
                Shell32.FILE_ATTRIBUTE_DIRECTORY,
                ref shfi,
                (uint)System.Runtime.InteropServices.Marshal.SizeOf(shfi),
                flags);

            // Copy (clone) the returned icon to a new object, thus allowing us to clean-up properly
            System.Drawing.Icon icon = (System.Drawing.Icon)System.Drawing.Icon.FromHandle(shfi.hIcon).Clone();
            User32.DestroyIcon(shfi.hIcon);		// Cleanup
            return icon;
        }
开发者ID:JoeyEremondi,项目名称:tikzedt,代码行数:33,代码来源:IconHelper.cs


示例16: GetFolderIcon

        /// <summary>
        /// Obtains system folder icon</summary>
        /// <param name="size">Specifies large or small icons</param>
        /// <param name="folderType">Specifies open or closed FolderType</param>
        /// <returns>System folder icon</returns>
        public static Icon GetFolderIcon(IconSize size, FolderType folderType)
        {
            // Need to add size check, although errors generated at present!
            uint flags = Shell32.SHGFI_ICON | Shell32.SHGFI_USEFILEATTRIBUTES;

            if (FolderType.Open == folderType)
            {
                flags += Shell32.SHGFI_OPENICON;
            }

            if (IconSize.Small == size)
            {
                flags += Shell32.SHGFI_SMALLICON;
            }
            else
            {
                flags += Shell32.SHGFI_LARGEICON;
            }

            // Get the folder icon
            Shell32.SHFILEINFO shfi = new Shell32.SHFILEINFO();
            Shell32.SHGetFileInfo(null,
                Shell32.FILE_ATTRIBUTE_DIRECTORY,
                ref shfi,
                (uint)System.Runtime.InteropServices.Marshal.SizeOf(shfi),
                flags);

            Icon.FromHandle(shfi.hIcon);    // Load the icon from an HICON handle

            // Now clone the icon, so that it can be successfully stored in an ImageList
            Icon icon = (Icon)Icon.FromHandle(shfi.hIcon).Clone();

            User32.DestroyIcon(shfi.hIcon);        // Cleanup
            return icon;
        }
开发者ID:JanDeHud,项目名称:LevelEditor,代码行数:40,代码来源:FileIconUtil.cs


示例17: thumbnailInfo

 public thumbnailInfo(WriteableBitmap b, string k, IconSize size, int rol)
 {
     bitmap = b;
     key = k;
     iconsize = size;
     roll = rol;
 }
开发者ID:kolan72,项目名称:QuickZip.IO.PIDL.UserControls,代码行数:7,代码来源:IconConverterBase.cs


示例18: GetFileIcon

        private Icon GetFileIcon(string fileName, IconSize size)
        {
            IntPtr iconPtr;
            Icon ret = null;
            SHFILEINFO shinfo = new SHFILEINFO();
                        
            uint flags = Win32.SHGFI_ICON;
            /* Check the size specified for return. */
            if (size == IconSize.Small)
                flags += Win32.SHGFI_SMALLICON;            
            else            
                flags += Win32.SHGFI_LARGEICON;

            
            iconPtr = Win32.SHGetFileInfo(fileName, 0,
                ref shinfo, (uint)Marshal.SizeOf(shinfo), flags);

            if (iconPtr != IntPtr.Zero)
            {
                // Copy (clone) the returned icon to a new object, thus allowing us to clean-up properly
                ret = (System.Drawing.Icon)System.Drawing.Icon.FromHandle(shinfo.hIcon).Clone();
                // Cleanup
                Win32.DestroyIcon(shinfo.hIcon);
            }

            return ret;
        }
开发者ID:yaronthurm,项目名称:TagFolders,代码行数:27,代码来源:IconExtractor.cs


示例19: GetStaticIcon

		public Icon GetStaticIcon(StaticIconType type, IconSize size)
		{
			ShellIcon.IconSize iconSize;
			switch (size)
			{
				case IconSize.Large:
					iconSize = ShellIcon.IconSize.Large;
					break;
				case IconSize.Small:
					iconSize = ShellIcon.IconSize.Small;
					break;
				default:
					throw new NotSupportedException();
			}

			ShellIcon.FolderType folderType;
			switch (type)
			{
				case StaticIconType.OpenDirectory:
					folderType = ShellIcon.FolderType.Open;
					break;
				case StaticIconType.CloseDirectory:
					folderType = ShellIcon.FolderType.Closed;
					break;
				default:
					throw new NotSupportedException();
			}
			
			SD.Icon icon = ShellIcon.GetFolderIcon(iconSize, folderType);
			return new Icon(new IconHandler(icon));
		}
开发者ID:mhusen,项目名称:Eto,代码行数:31,代码来源:SystemIcons.cs


示例20: GetIcon

 public static Icon GetIcon(string path, ItemType type, IconSize size, ItemState state)
 {
     var flags = (uint)(Interop.SHGFI_ICON | Interop.SHGFI_USEFILEATTRIBUTES);
     var attribute = (uint)(object.Equals(type, ItemType.Folder) ? Interop.FILE_ATTRIBUTE_DIRECTORY : Interop.FILE_ATTRIBUTE_FILE);
     if (object.Equals(type, ItemType.Folder) && object.Equals(state, ItemState.Open))
     {
         flags += Interop.SHGFI_OPENICON;
     }
     if (object.Equals(size, IconSize.Small))
     {
         flags += Interop.SHGFI_SMALLICON;
     }
     else
     {
         flags += Interop.SHGFI_LARGEICON;
     }
     var shfi = new SHFileInfo();
     var res = Interop.SHGetFileInfo(path, attribute, out shfi, (uint)Marshal.SizeOf(shfi), flags);
     if (object.Equals(res, IntPtr.Zero)) throw Marshal.GetExceptionForHR(Marshal.GetHRForLastWin32Error());
     try
     {
         Icon.FromHandle(shfi.hIcon);
         return (Icon)Icon.FromHandle(shfi.hIcon).Clone();
     }
     catch
     {
         throw;
     }
     finally
     {
         Interop.DestroyIcon(shfi.hIcon);
     }
 }
开发者ID:rickflagg,项目名称:public,代码行数:33,代码来源:ShellManager.cs



注:本文中的IconSize类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IconType类代码示例发布时间:2022-05-24
下一篇:
C# IconId类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap