告急,告急这个方法怎么不行呢??

skysharp 2004-11-21 01:36:47
当我点击一个按钮时执行一个事件,当我再次点击这个按钮时停止执行这个事件,当我再次点击这个按钮时又开始执行这个事件,再点击时又停止执行这个事件,如此反复......(注意:是一个按钮)


我用了按钮的Tag属性还是不行
我用了关于Tag的一下代码是:
if(button1.Tag==true)
{
..........//执行这些事件
button1.Tag=false;
}
else
{
button1.Tag=true;
}
执行时会提示出“这种做法不行呀.错误提示为“运算符== 无法用于 object 和bool类型的操作数”请问该怎么解决
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyuming2004 2004-11-22
  • 打赏
  • 举报
回复
button1.Tag=(object)true;
jkflyfox 2004-11-21
  • 打赏
  • 举报
回复
呵呵,object不能直接转型为bool阿
你将tag用0,1或用string之类的就好了。
dazhu2 2004-11-21
  • 打赏
  • 举报
回复
see here:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace WindowsApplication5
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
private static int flag=0;//标志变量

public Form1()
{




[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{

if(flag==1)
{
this.button1.Click+=new EventHandler(button2_Click);
flag=0;

}
else
{
this.button1.Click-=new EventHandler(this.button2_Click);
flag=1;
}

}

private void button2_Click(object sender, System.EventArgs e)
{
MessageBox.Show("ok");

}

private void Form1_Activated(object sender, System.EventArgs e)
{

}

private void Form1_Load(object sender, System.EventArgs e)
{
this.button1.Click+=new EventHandler(button2_Click);
}
}
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧