/// <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; } }
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); } } }
/// <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)); }