我为visual studio写了一个包含两个按钮的插件。 我希望当用户点击其中一个时,此按钮将被禁用,另一个将被启用。 我怎么能这样做?
按钮是命令类型(commands.AddNamedCommand2 ...)
先谢谢!
答案 0 :(得分:0)
void Btn1_Click(Object sender, EventArgs e)
{
Btn2.Enabled = false;
}
void Btn2_Click(Object sender, EventArgs e)
{
Btn1.Enabled = false;
}
答案 1 :(得分:0)
你可以试试这个:
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;
}
希望这会对你有帮助....
答案 2 :(得分:0)
您可以将某个状态变量与您的按钮相关联,这些按钮可以表示您的按钮是否应该在加载项的最近状态下启用。当您的加载项显示时,您应该设置状态。在查询中,您可以检查加载项的最近状态,并将关键字设置为正确的启用/不支持状态。
可以通过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
答案 3 :(得分:0)
此外,如果要在初始状态下启用或禁用这些按钮。作为示例,您要在程序中禁用button1。在说明程序后,您要在单击button2后启用button1,然后您要添加按钮状态页面加载如下;
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;
}
答案 4 :(得分:-1)
// 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);