首页
社区
课程
招聘
[求助]C# 窗体间传值
发表于: 2008-5-29 16:16 6009

[求助]C# 窗体间传值

2008-5-29 16:16
6009
我定义了一个传递Form1和Form2,在Form1中有个TextBox,在Form2中有个Button和一个TextBox,在
Form1已打开的情况下,当按下Button是把Form2中TextBox的值传个Form1中的TextBox去,请问大大们这如何实现,关键是
打开的情况,我觉得如果定一个public的变量那我要一直扫描这个值是不是空,这样做觉得不现实,一直占用CPU时间,所以各位
大大们这该怎么做???

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 8744
活跃值: (5210)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
public partial class Form2 : Form
    {
        Form1 _frm;

        public Form2()
        {
            InitializeComponent();
        }

        public Form2(Form1 frm):this()
        {
            _frm = frm;   
        }

        private void button1_Click(object sender, EventArgs e)
        {
            _frm.textBox1.Text = this.textBox1.Text;
        }
    }
2008-5-29 23:51
0
雪    币: 446
活跃值: (758)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
  public class Form1 : System.Windows.Forms.Form
  {
    private System.Windows.Forms.Button button1;

    private void button1_Click(object sender, System.EventArgs e)
    {
      Form2 form = new Form2();
      form.SendValueHandler+=new WindowsApp.Form2.SendValue(form_SendValueHandler);
      form.Show();
    }

    private void form_SendValueHandler(string strValue)
    {
      MessageBox.Show(strValue);
    }
  }

  public class Form2 : System.Windows.Forms.Form
  {
    public delegate void SendValue(string strValue);
    public event SendValue SendValueHandler;

    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.TextBox textBox1;

    private void button1_Click(object sender, System.EventArgs e)
    {
      if(SendValueHandler != null)
      {
        SendValueHandler(this.textBox1.Text);
      }
    }
  }
2008-5-30 09:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2楼的好,就是这样
2008-5-30 10:44
0
雪    币: 446
活跃值: (758)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
100个窗体呢?
2008-5-30 13:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
两个方法都不错,不同场合用的不一样,谢谢大家了
2008-5-30 14:55
0
游客
登录 | 注册 方可回帖
返回
//