通讯我也是能实现的。
问题是这样的。很简单阿。。
两个自定义控件 control1,control2,生成两个 。cs文件。
control1有按钮 button1,button2
control2有按钮 button3,button4.buttton 有自定义事件 ttt。
我想在 button1 的click 事件中调用 button3 的ttt 事件按照 我以前的思维模式。有三种解决办法
1。在 contro1 定义一个 control2 类型的变量,然后将 control2 赋给这个变量。
比如说
using control2
..........
{
private control2 cotrol2_user
event xxxx{}
{
control2_user.tttt()
}
我写的很差,我只是想要具体的方法,比较详细的步骤哦。
最好把几种方法都说出来啊。 最好处理都在 control1,contro2 的代码中完成,各个模块关联越烧越好。
问题是这样的。很简单阿。。
两个自定义控件 control1,control2,生成两个 。cs文件。
control1有按钮 button1,button2
control2有按钮 button3,button4.buttton 有自定义事件 ttt。
我想在 button1 的click 事件中调用 button3 的ttt 事件按照 我以前的思维模式。有三种解决办法
1。在 contro1 定义一个 control2 类型的变量,然后将 control2 赋给这个变量。
比如说
using control2
..........
{
private control2 cotrol2_user
event xxxx{}
{
control2_user.tttt()
}
我写的很差,我只是想要具体的方法,比较详细的步骤哦。
最好把几种方法都说出来啊。 最好处理都在 control1,contro2 的代码中完成,各个模块关联越烧越好。
你说的很对,就是这样。
希望有具体的实现。我 c#实在太臭了。这是如何语言开发的一个基础阿。
我非常想知道啊。
你在你的应用中创建Control1和Control2的实例。2——
在Control1的Button1的Click事件中作以下操作之一:A——
直接调用ttt:
Control2.ttt(sender,e);
//要求ttt是Public的
//如果在ttt中用到了sender对象,那么,根据需要,修改sender为Control2.Button3B——
发送系统消息,通知Button3被Click(这个比较难)
UserControl2 u2=new UserControl2();
this.button1.Click+=new System.EventHandler(ttt);
UserControl2 u2=new UserControl2();
this.button1.Click+=new System.EventHandler(u2.ttt);
你只是把 button1 的 click 事件 改成用 ttt 来做实现体的。
事件绑定哦。公司的 javascript 做的基础类库都是这样实现的。我的意思是我 button1 里面调用 button3 的事件。
关键是当程序运行时 button1 如何来找到 button3 ,
到这里跟贴吧,我会给你 50 分得。
http://expert.csdn.net/Expert/topic/2564/2564412.xml?temp=.6833917
但是这样子增加了模块之间的关联,不太好吧,直接拷贝一份过来可能更好,我觉得出现这样的情况可能是类的划分不够合理。
你可以直接在Form1.Controls[n]中来定位啊,我感觉,整个应用程序在运行时都可以这样做啊。也做过一些小测试,基本上和设想的一致。
一个窗口上放置了两个 panel : panel1 和 panle2
然后我 panel1 放了自定义控件 control1
然后我 panel2 放了自定义控件 control2
cotrol1 上包含两个button ,button11,button12
cotrol2 上包含两个button ,button21,button22我现在 button21 自定义一个事件 ttt,来改变 button22 的背景色。 (这个很简单,在同一个 .cs文件中)
我现在想在 button11 的click 事件调用 button21 的 ttt 事件,怎么办。(button11,和button 21 在不同的cs文件中)简单的说就是在不同cs文件的一个类 调用 另 一个类的 方法。希望给出比较好的解决办法。
ttt写成静态方法
public static void ttt()
{
MessageBox.Show("Fuck You!");
}
button11_click(object sender,....... e)
{
control2.ttt();
}
我也许回答得不对,因为你的问题写得真的是不清楚!