我有一个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;
}
}
}
答案 0 :(得分:2)
更好的是旁观者的眼睛。我的版本:
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;
}