我为包含两个按钮的 Visual Studio 编写插件。我希望当用户点击其中一个按钮时,此按钮将被禁用,而另一个按钮将被启用。我该怎么做?
按钮是命令类型(commands.AddNamedCommand2...)
先谢谢了!
我为包含两个按钮的 Visual Studio 编写插件。我希望当用户点击其中一个按钮时,此按钮将被禁用,而另一个按钮将被启用。我该怎么做?
按钮是命令类型(commands.AddNamedCommand2...)
先谢谢了!
void Btn1_Click(Object sender, EventArgs e)
{
Btn2.Enabled = false;
}
void Btn2_Click(Object sender, EventArgs e)
{
Btn1.Enabled = false;
}
你可以试试这个:
private void button1_Click(object sender, EventArgs e)
{
this.button1.Enabled = false;
this.button2.Enabled = true;
}
private void button2_Click(object sender, EventArgs e)
{
this.button2.Enabled = false;
this.button1.Enabled = true;
}
希望对你有帮助....
您可以将一些状态变量与您的按钮相关联,以表达您的按钮是否应在您的加载项的最近状态下启用。当您的加载项初始化时,您应该根据需要设置状态。在查询中,您可以检查加载项的最近状态并将按钮设置为正确的启用/不支持状态。
可以通过接口的QueryStatus
方法修改状态IDTCommandTarget
(如果加载了您的加载项)。
默认模板实现:
public void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText)
{
if(neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
{
if(commandName == "YourAddin.Connect.YourAddinCommandName")
{
status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported|vsCommandStatus.vsCommandStatusEnabled;
return;
}
}
}
您可以通过将状态设置为来禁用按钮vsCommandStatus.vsCommandStatusUnsupported
此外,如果您想在初始状态下启用或禁用这些按钮。例如,您想在程序中禁用按钮 1。在说明程序后,您想在单击按钮 2 后启用按钮 1,然后您想在页面加载时添加按钮状态为跟随;
private void Form1_Load(object sender, EventArgs e)
{
this.button1.Enabled = false;
this.button2.Enabled = true;
}
private void button2_Click(object sender, EventArgs e)
{
this.button1.Enabled = true;
}
// Remove event handler
this.button_Ping.Click -= new System.EventHandler(this.button_Ping_Click);
Some action...
// Add event handler
this.button_Ping.Click += new System.EventHandler(this.button_Ping_Click);