(.NET(C#))从父窗体触发子窗体按钮(【计算】)如何实现?触发时不允许丢子窗体控件信息!

如上图:通过父窗体的工具栏按钮触发子窗体的计算按钮,如何实现?要求:第一、不能丢失textbox值;所以不能用new来实例化;第二、计算完的值在子窗体显示;... 如上图:通过父窗体的工具栏按钮触发子窗体的计算按钮,如何实现?
要求:第一、不能丢失textbox值;所以不能用new来实例化;第二、计算完的值在子窗体显示;
展开
 我来答
冥想坠鱼
2013-02-27 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:29.2万
展开全部
委托定义事件
自己做了个简单测试,相互学习下,如下

父窗体代码:
public event EventHandler MyClick;
public Form3()
{
InitializeComponent();
Form f = new Form4(this);
f.Show();
f.BringToFront();
f.TopLevel = false;
this.panel1.Controls.Add(f);
}
private void button1_Click(object sender, EventArgs e)
{
if (MyClick != null)
{
MyClick(sender, e);
}
}
子窗体代码:
public Form4()
{
InitializeComponent();
}
public Form4(Form3 paform)
{
InitializeComponent();
paform.MyClick += new System.EventHandler(this.mmss);
}
private void mmss(object sender, EventArgs e)
{
MessageBox.Show(textBox1.Text);
}
蚂蚁棚
2013-02-27 · TA获得超过138个赞
知道答主
回答量:200
采纳率:0%
帮助的人:129万
展开全部
在子窗体写好方法,设成公共的,然后在父窗体保存子窗体的引用.需要时直接调用即可
追问
button事件是非static的!怎么做?
追答
把button时间要做的操作设成一个公共的方法。也是可以调用的。不一定非要通过button事件来操作吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灵葬外与他29
2013-02-27 · TA获得超过2183个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:933万
展开全部
委托是最好的解决方案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回忆在那片
2013-02-27
知道答主
回答量:6
采纳率:0%
帮助的人:5.3万
展开全部
直接调用子窗体这个计算函数就可以了啊 、
追问
我把那函数设为public 调用了之后根本获取不到子窗体textbox值啊...算完的结果也不更新到子窗体,没反应!
追答
按着楼上的方法做下,应该是对的呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式