在ToolStripSplitButton中循环使用下拉菜单项
本文关键字:菜单项 ToolStripSplitButton 循环 | 更新日期: 2023-09-27 18:06:18
我有一个WinForm应用程序,在它上面我有一个ToolStripSplitButton
,包含三个项目(项目1,项目2,项目3)。
现在我想做的是允许用户单击ToolStripSplit
按钮,然后将下一个值分配给ToolStripSplit
按钮的文本属性。我想出了下面的解决方案,它工作得很好,但我想知道是否有更好的方法来做到这一点:
private void toolStripSplitButton_ButtonClick(object sender, EventArgs e)
{
ToolStripSplitButton tsb = (ToolStripSplitButton)sender;
for (int i = 0; i < tsb.DropDownItems.Count; i++)
{
int ii = i + 1;
if (ii >= tsb.DropDownItems.Count)
{
ii = 0;
}
if (tsb.Text == tsb.DropDownItems[i].Text)
{
tsb.Text = tsb.DropDownItems[ii].Text;
break;
}
}
}
情人眼里出西施。我的版本:
private void toolStripSplitButton1_ButtonClick(object sender, EventArgs e) {
ToolStripSplitButton tsb = (ToolStripSplitButton)sender;
string text = tsb.DropDownItems[0].Text;
bool found = false;
for (int i = 0; i < tsb.DropDownItems.Count; i++) {
if (found) text = tsb.DropDownItems[i].Text;
found = (tsb.Text == tsb.DropDownItems[i].Text);
}
tsb.Text = text;
}