如何在c#中使用radiobuttons显示不同的上下文菜单条项?

时间:2018-02-14 15:11:58

标签: c#

我有一个简单的窗体应用程序,包含一个按钮(带有contextmenustrip)和两个单选按钮,有3个菜单项,即 process1 process2 process3 < / strong>在contextmenustrip中。

单击按钮时,只启用radioButton1 process1 process2 应显示,并且启用radioButton1时,只显示 process3 。我该怎么做?

我尝试使用下面的Available方法,但它不起作用

Button btnSender = (Button)sender;
Point ptLowerLeft = new Point(0, btnSender.Height);
ptLowerLeft = btnSender.PointToScreen(ptLowerLeft);
contextMenuStrip1.Show(ptLowerLeft);
    if (radioButton1.Checked) {
        process1ToolStripMenuItem.Available=true;
        process2ToolStripMenuItem.Available=true;
        }
    if (radioButton2.Checked) {
        process2ToolStripMenuItem.Available=true;
        }

1 个答案:

答案 0 :(得分:2)

您必须确保根据具体情况使其他人不可用:

if (radioButton1.Checked)
{
    toolStripMenuItem1.Available = toolStripMenuItem2.Available = true;
    toolStripMenuItem3.Available = false;
}
else if (radioButton2.Checked)
{
    toolStripMenuItem1.Available = toolStripMenuItem2.Available = false;
    toolStripMenuItem3.Available = true;
}