按一个(总的)button实现多个button的功能,也可以分别用每一个button来控制,C#语言,急!
3个回答
展开全部
异步委托就好了
public static event EventHandler<EventArgs> OnEvent; //定义事
static void Method1(object sender, EventArgs e)
{
...
}
static void Method2(object sender, EventArgs e)
{
...
}
private void button1_Click(object sender, EventArgs e)
{
//显示主线程ID
System.Console.WriteLine("主线程ID为:{0}", Thread.CurrentThread.ManagedThreadId);
//将Method1和Method2注册到事件中
OnEvent += new EventHandler<EventArgs>(Method1);
OnEvent += new EventHandler<EventArgs>(timer1_Tick);
//下面的代码实现事件的异步调用
//获取事件中的多路委托列表
Delegate[] delegAry = OnEvent.GetInvocationList();
//遍历委托列表
foreach (EventHandler<EventArgs> deleg in delegAry)
{
//异步调用委托
deleg.BeginInvoke(null, EventArgs.Empty, null, null);
}
}
展开全部
你可以把你要实现的各个功能写在单独的方法里,然后在总按钮中调用所有的功能方法,而子按钮则调用相应的方法即可。这样写既逻辑清晰也可充分重复利用代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单呀,比如三个button ,对应的函数分别如下,那么btn0对应的功能是总功能。
void btn0_click(object sender , eventargs e)
{
btn1_click(null,null);//执行按btn1要做的事情
btn1_click(null,null);//执行按btn2要做的事情
}
void btn1_click(object sender , eventargs e)
{
//btn1要做的事情
}
void btn1_click(object sender , eventargs e)
{
//btn2要做的事情
}
void btn0_click(object sender , eventargs e)
{
btn1_click(null,null);//执行按btn1要做的事情
btn1_click(null,null);//执行按btn2要做的事情
}
void btn1_click(object sender , eventargs e)
{
//btn1要做的事情
}
void btn1_click(object sender , eventargs e)
{
//btn2要做的事情
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询