Ich habe folgendes geschrieben:
Erste werden Combo Boxen eingefügt (mit ersten) und dann noch der standart krempel mit der zweiten. Jedoch kommt dann bei bestimmt konztilationen eine überlappung wie im anhang.
Code:
private void MenüFüllen(ref System.Windows.Forms.ContextMenuStrip Menü, string[] gefundene)
{
foreach (string einer in gefundene)
{
foreach (KategorieMitDaten KategorieSatz in daten)
{
Microsoft.Win32.FileInfo.DateiInfo Datensatz = KategorieSatz.GetDatensatzDesAnzeigeNamens(einer);
if (Datensatz.AnzeigeName == einer)
{
bool eingetragen = false;
for(int i=0;i<Menü.Items.Count;i++)
{
if (Menü.Items[i].GetType().FullName == "System.Windows.Forms.ToolStripComboBox" && Menü.Items[i].Name == KategorieSatz.GetKategorie())
{
eingetragen = true;
((ToolStripComboBox)Menü.Items[i]).Items.Add(einer);
break;
}
}
if (eingetragen==false)
{
System.Windows.Forms.ToolStripComboBox combo = new System.Windows.Forms.ToolStripComboBox();
combo.Name = KategorieSatz.GetKategorie();
combo.Items.Add("- " + KategorieSatz.GetKategorie() + " -");
combo.SelectedIndex = 0;
combo.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged);
combo.AutoSize = true;
combo.Items.Add(einer);
Menü.Items.Add(combo);
combo=null;
}
break;
}
}
}
}
public void MenüpunktOptionExitHinzufügen(ref System.Windows.Forms.ContextMenuStrip Menü)// System.Windows.Forms.Form Formular)
{
//Festplatte Durchsuchen
System.Windows.Forms.ToolStripButton menuDurchsuchen = new System.Windows.Forms.ToolStripButton();
menuDurchsuchen.Text = "Festplatte Durchsuchen";
menuDurchsuchen.Name = "menuDurchsuchen";
menuDurchsuchen.Click += new EventHandler(bFestplatteDurchsuchen_Click);
//Optionen
System.Windows.Forms.ToolStripButton menuOptionen = new System.Windows.Forms.ToolStripButton();
menuOptionen.Text = "Optionen";
menuOptionen.Name = "menuOptionen";
menuOptionen.Click += new EventHandler(menuOptionen_Click);
//Exit
System.Windows.Forms.ToolStripButton menuExit = new System.Windows.Forms.ToolStripButton();
menuExit.Text = "Exit";
menuExit.Name = "menuExit";
menuExit.Click += new EventHandler(menuExit_Click);
//Hinzufügen
if (Menü.Items.Count == 0)
{
Menü.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
menuDurchsuchen,
menuOptionen,
new System.Windows.Forms.ToolStripSeparator(),
menuExit});
}
else
{
//Sparmodus
System.Windows.Forms.ToolStripButton menuSparmodus = new System.Windows.Forms.ToolStripButton();
menuSparmodus.Text = "Speicher sparen";
menuSparmodus.Name = "menuSparmodus";
menuSparmodus.Click += new EventHandler(menuSparmodus_Click);
Menü.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
new System.Windows.Forms.ToolStripSeparator(),
menuDurchsuchen,
menuSparmodus,
menuOptionen,
new System.Windows.Forms.ToolStripSeparator(),
menuExit});
}
menuDurchsuchen = null;
menuExit = null;
menuOptionen = null;
}
Erste werden Combo Boxen eingefügt (mit ersten) und dann noch der standart krempel mit der zweiten. Jedoch kommt dann bei bestimmt konztilationen eine überlappung wie im anhang.