Hej! uppdaterar lite kort, löste problemet och för er som nu undrar hur jag löste så kommer svaret här.
Funktionen fanns i ListView som vanligtvis används för att hantera filer i program, iaf huvudanvändningen skulle jag säga. Men genom att välja egenskapen "Large Icons" under "View" så hittade jag önskat resultat. Hade sedan en mycket önskad egenskap som jag inte fann även kännt som "padding" dvs. avståndet mellan varje element i "listView".
För att lösa problem nr2 så använda jag mig av en liten kod bit, för att kunna använda DllImport så krävs "namespecet" "using System.Runtime.InteropServices;"
Exempel i C# bifogat.. Exempel.zip
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
///Listview vars padding du vill ändra,cx är padding för X samt cy är padding för Y
public void ListView_SetSpacing(ListView listview, short cx, short cy)
{
const int LVM_FIRST = 0x1000;
const int LVM_SETICONSPACING = LVM_FIRST + 53;
SendMessage(listview.Handle, LVM_SETICONSPACING,IntPtr.Zero, (IntPtr)(int)(((ushort)cx) | (uint)(cy << 16)));
}