Ich habe eine ToolStrip
mit mehreren ToolStripDropDownButton
s, jeder hat einen Satz von DropDownItems
.Überprüfen Sie nur ein ToolStripMenuItem
Wenn der Benutzer auf ein DropDownItem klickt, wird das Häkchen angezeigt.
Standardmäßig können mehrere Elemente angeklickt werden und daher mehr Häkchen angezeigt.
Was ich versuche zu tun ist, wenn der Benutzer eine DropDownItem klickt, die andere bereits markierte Objekte nicht markiert sein sollte. Mit anderen Worten, in der DropDown-Liste sollte immer nur ein geprüftes Element vorhanden sein.
Ich habe mich schon seit einiger Zeit damit beschäftigt, aber ich kann nicht wirklich herausfinden, wie man das aktuell überprüfte Element behält, während es andere Elemente deaktiviert.
Unten ist der Code, den ich ab sofort habe.
private void subietm1ToolStripMenuItem_Click(object sender, EventArgs e)
{
UncheckOtherToolStripMenuItems(sender);
}
public void UncheckOtherToolStripMenuItems(object selectedMenuItem)
{
List<ToolStripDropDownButton> dropdownButtons = new List<ToolStripDropDownButton>();
foreach (ToolStripItem item in toolStrip1.Items)
{
if (item is ToolStripDropDownButton)
{
dropdownButtons.Add((ToolStripDropDownButton)item);
}
}
foreach (ToolStripDropDownButton btn in dropdownButtons)
{
foreach (ToolStripMenuItem d in btn.DropDownItems)
{
if (d.Checked)
d.CheckState = CheckState.Unchecked;
}
}
}
Wenn jemand etwas Licht auf diesem verschütten könnte oder eine einfache Möglichkeit, sagen Sie mir, darüber zu gehen, würde ich dankbar sein.
Vielen Dank.
http://msdn.microsoft.com/en-us/library/ms404318.aspx –