标题:请帮我用event来解决一下这个问题~~~~~
只看楼主
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
结帖率:100%
已结贴  问题点数:20 回复次数:4 
请帮我用event来解决一下这个问题~~~~~
一个项目中,有两个窗体,一个是默认的form1,一个是form2.如下:
FORM1的主要代码:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public void sss()
        {
            label1.Text = "123456";
        }
        Form2 f2 = null;
        private void button1_Click(object sender, EventArgs e)
        {
                f2 = new Form2();
                f2.Show();
        }
    }
form2的主要代码:
private void button1_Click(object sender, EventArgs e)
        {
            //我想在这里用事件来实现触发form1中sss方法的执行,从而达到修改form1类中label1.text的属性的目的。
        }
搜索更多相关主题的帖子: event 
2010-01-24 20:44
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
得分:0 
怎么没人站出来帮我解决一下啊,自己顶。

QQ:81704464
2010-01-27 08:27
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
得分:20 
我来试试;

form2的主要代码:
//在from2中添加一个委托
public delegate void ChageTextHandle();//参数可有可无
public event ChageTextHandle ChageText;//定义事件

private void button1_Click(object sender, EventArgs e)
{
    //调用事件
    if(ChageText!=null)//已注册事件
        ChageText();   
}



public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    public void sss()
    {
        label1.Text = "123456";
    }
    Form2 f2 = null;
    private void button1_Click(object sender, EventArgs e)
    {
        f2 = new Form2();
        //注册事件
         f2.ChageText+=new Form2.ChageTextHandle(sss);
        f2.Show();
    }
}
完成!

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2010-01-27 09:01
jessejun3
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2009-3-16
得分:0 
先建个新类 打包Form1
 
   public static class ModelForm
        {
            public static Form1 fm1 = new Form1();
        }

  Form2中通过新类调用方法
      private void button1_Click(object sender, EventArgs e)
        {
            ModelForm.fm1.sss();
        }

最后,不要忘了修改Program.cs

程序代码:
static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(ModelForm.fm1);
        }
    }
2010-01-27 09:07
jessejun3
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2009-3-16
得分:0 
看错题目了
3楼正解!
2010-01-27 09:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296417-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.736419 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved