我有一个工具条按钮,当我单击它时,我想让它保持“按下”或“选中”状态。就像一个开关。当我单击另一个时,再次使按下的“未按下”。有什么想法吗?
最佳答案
我想你想使用 CheckOnClick
属性(property)。将其设置为 true
,按钮的行为应与您描述的一样。为了获取(或设置)当前状态,使用 Checked
属性(property)。
这是一个完整的工作示例:
public partial class Form1 : Form
{
private readonly IEnumerable<ToolStripButton> mutuallyExclusiveButtons;
public Form1()
{
InitializeComponent();
mutuallyExclusiveButtons = new[] { firstButton, secondButton };
}
private void ToolStripButton_Click(object sender, EventArgs e)
{
ToolStripButton button = sender as ToolStripButton;
if (button != null && button.Checked &&
mutuallyExclusiveButtons.Contains(button))
{
foreach (ToolStripButton item in mutuallyExclusiveButtons)
{
if (item != button) item.Checked = !button.Checked;
}
}
}
}
firstButton
和 secondButton
是 ToolStripButton
,它们都将 CheckOnClick
设置为 true
,并且它们的 Clicked
事件连接到 ToolStripButton_Click
。如果按钮组中有两个以上的按钮且只应检查一个按钮,这也适用,只需将任何需要的额外按钮添加到 mutuallyExclusiveButtons
序列。
关于vb.net - 工具条按钮 = "Pressed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573581/