示例#1
0
        /// <summary>
        /// Verändert die Position eines Icons auf dem Desktop
        /// </summary>
        /// <param name="icon">Das Icon, welches verschoben werden soll.</param>
        /// <param name="newLocation">Die neue Position des Icons.</param>
        public void SetIconPosition(DesktopIcon icon, Point newLocation)
        {
            int posX = newLocation.X;
            int posY = newLocation.Y;

            if (SendMessage(this.DesktopHandle, LVM_SETITEMPOSITION,
                            icon.Index, posY * 65536 + posX) == 1)
            {
                icon.Location = newLocation;
            }
        }
示例#2
0
        public void RestoreIconPositions()
        {
            DesktopIcon[] backupIcons = new DesktopIcon[Icons.Count];
            Icons.CopyTo(backupIcons);

            UpdateIcons();
            foreach (var item in Icons)
            {
                var icon = backupIcons.FirstOrDefault(x => x.Name == item.Name);
                if (icon != null)
                {
                    SetIconPosition(item, icon.Location.X, icon.Location.Y);
                }
            }
        }
示例#3
0
 /// <summary>
 /// Verändert die Position eines Icons auf dem Desktop
 /// </summary>
 /// <param name="icon">Das Icon, welches verschoben werden soll.</param>
 /// <param name="x">X Position</param>
 /// <param name="y">Y Position</param>
 public void SetIconPosition(DesktopIcon icon, int x, int y)
 {
     this.SetIconPosition(icon, new Point(x, y));
 }