Bei dieser Sidebar bzw. dem Navigationsdings handelt es sich um die Sidebar welche ich mir bei Outlook abgeguckt habe. Wo es möglich ist zwischen mehreren "Objekten" zu wählen, E-Mail, Kalender, Kontakte, Aufgaben...
In dem Projektordner kann die Datei "MySidebar.cs" einem eigenen Projekt hinzugefügt werden. Danach in eurem Projekt könnt ihr über die Toolbox in dem Designer die neue Komponente per Drag & Drop in eure Form ziehen. Durch die Schnittstelle "AddMySidebarButtons" können neue Objekte hinzugefügt werden. Bei dem ersten Parameter handelt es sich um den Text der Angezeigt werden soll. Bei dem zweiten Parameter um eine Bilddatei, bei dem dritten Parameter um einen Rückgabewert welcher von euch später verarbeitet werden kann, wie hier in dem Event "MouseClick". Und der letzte Parameter sagt dann ob das Objekt sichtbar sein soll oder nicht. Die Zeile mit SetStyle muss sein [link] !
public MyForm()
{
InitializeComponent();
SetStyle(ControlStyles.OptimizedDoubleBuffer |
ControlStyles.AllPaintingInWmPaint,
true);
mySidebar1.AddMySidebarButtons("Null", Properties.Resources.image0, 88, true);
mySidebar1.AddMySidebarButtons("Eins", Properties.Resources.image1, 11, true);
mySidebar1.AddMySidebarButtons("Zwei", Properties.Resources.image2, 22, true);
mySidebar1.AddMySidebarButtons("Drei", Properties.Resources.image3, 33, true);
mySidebar1.AddMySidebarButtons("Vier", Properties.Resources.image0, 44, true);
label1.Text = mySidebar1.GetClickedItem().ToString();
}
Die "-1" sollte und kann nicht als Rückgabewert für ein Objekt angegeben werden, die "-1" ist schon für den MenuButton reserviert wo sich ein ContextMenü öffnet und Objekte angezeigt bzw. versteckt werden können.
private void mySidebar1_MouseClick(object sender, MouseEventArgs e)
{
int x = mySidebar1.GetClickedItem();
label1.Text = x.ToString();
switch (x)
{
case 88:
break;
case 11:
break;
case 22:
break;
case 33:
break;
case 44:
break;
default:
MessageBox.Show("\t(^) Inkremt\n\n\t(v) Dekrement\n\n\t(#) Re-Order\n\n\t(>) Show bzw. (<) Hide\t\t",
"ContextMenu", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
}
mySidebar1.IncrementMySidebarButtons();
mySidebar1.DecrementMySidebarButtons();
Die Methoden für Show / Hide der einzelnen Objekte sind noch nicht sooo ausgereift und sind daher noch vom Typ "privat"
private void ShowMySidebarButtons(int Index)
private void HideMySidebarButtons(int Index)
Sieht gut aus, danke schön 😉
hallo!
a) freut mich das es dir gefällt
b) sorry, aber ich finde momentan keine zeit daran weiter zu arbeiten
bin zur zeit im letzten semester, studium + arbeit hat mich wieder voll im griff 😉
In dem Projektordner kann die Datei "MySidebar.cs" einem eigenen Projekt hinzugefügt werden. Danach in eurem Projekt könnt ihr über die Toolbox in dem Designer die neue Komponente per Drag & Drop in eure Form ziehen.
🤔 🤔 🤔 Das ist wohl eine verständnisfrage, ich habe das File in das Verzeichnis geladen und im "projektmappenexplorer das projektausgewählt und "vorhandenes Element hinzufügen" gewählt.
Die Datei wurde auch hinzugefügt, aber in der Toolbox erscheint nix was ich auf mein form droppen könnte"???
probiers mal mit einem Rebuild des Projektes
Gruß, Christian.
in der tat, tztz hatte immer nur ide "projektmappe rebuildet" aber wenn ich das projekt rebuilde geht es. danke...
Echt geil gemacht!
Habe es mir gerade gezogen und es funktioniert alles super!
Danke! 👍