关于textbox数据绑定问题

huozhiheng 2013-04-01 09:02:55
我想做的效果是:如下图,点击button1的时候弹出的form2能引用text1,text2的数据,点击button2的时候弹出的form2能引用text3,text4的数据.点击两个button弹出的是同一个form2,只是form2里的数据显示不同.
应该怎么处理??
...全文
258 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
燕雀之志 2013-04-01
  • 打赏
  • 举报
回复
引用 6 楼 a312100321 的回复:
FORM1的代码


C# code
?



123456789101112131415161718192021222324252627282930313233343536

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using……


燕雀之志 2013-04-01
  • 打赏
  • 举报
回复
FORM1的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LINQTEST.CSDN.页面传值
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.str1 = this.textBox1.Text;
            frm.str2 = this.textBox2.Text;
            frm.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.str1 = this.textBox3.Text;
            frm.str2 = this.textBox4.Text;
            frm.Show();
        }
    }
}
FORM2的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LINQTEST.CSDN.页面传值
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }


        public string str1;
        public string str2;
        private void Form2_Load(object sender, EventArgs e)
        {
            this.textBox1.Text = str1;
            this.textBox2.Text = str2;
        }


    }
}


你要的效果
燕雀之志 2013-04-01
  • 打赏
  • 举报
回复
直接在button1的事件中,给FORM2的TEXT赋值 FORM1的TEXT1和TEXT2 在button2的事件中,给FORM2的TEXT赋值FORM1的TEXT3和TEXT4、 不就完了吗? 你是不知道怎么赋值吗? 把FORM2定义两个Public string变量,在FROM1的button事件赋值啊。
iceMung 2013-04-01
  • 打赏
  • 举报
回复
难道不是判断一下是哪个button点击的,然后放入相应数据的行了吗?
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复
其实我本来想以button的mousestate来引发事件的,按下状态读取事件,应该跟你说那个差不多,只是不知道如何实现了
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复
如何判断sender呢?能具体点吗?
effun 2013-04-01
  • 打赏
  • 举报
回复
把两个button的Click事件都绑定到同一个处理程序,然后判断sender,如果是button1就往form2里写入text1和text2的值,否则就写入text3和text4。
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复


from1的"位移上"绑定了form2的"位移上"与"时间上"的数值
同样,from1的"位移下"绑定了form2的"位移下"与"时间下"的数值
点击form的"位移"button,弹出form2,
form2显示位移上,下,时间上,下的数值
点击form2的位移button,用位移上,下的数值
点击form2的时间button,用时间上,下的数值
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复
楼上的可以实现吗?他那里实现一个对一个,不能实现一个对两个吧?
yezhendong185 2013-04-01
  • 打赏
  • 举报
回复
引用 13 楼 huozhiheng 的回复:
引用 12 楼 yezhendong185 的回复: 我之前也能做到写入参数,我是做不出显示不出数据,像上面的例子,比如本来form7的text1绑定了"1","2",两个数据,text2绑定了"3","4"两个数据,当点击"show"后,在form8的4个text能显示出"1","2","3","4".
你要的功能楼上的是可以实现的,我这个只能实现你在Form8中点击1 或者2 将值传送给Form7的
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复
引用 12 楼 yezhendong185 的回复:
我之前也能做到写入参数,我是做不出显示不出数据,像上面的例子,比如本来form7的text1绑定了"1","2",两个数据,text2绑定了"3","4"两个数据,当点击"show"后,在form8的4个text能显示出"1","2","3","4".
yezhendong185 2013-04-01
  • 打赏
  • 举报
回复
yezhendong185 2013-04-01
  • 打赏
  • 举报
回复

public partial class Form7 : Form
    {
        public Form7()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form8 frm = new Form8();
            frm.UpdateFormData += new EventHandler<EventInfo>(frm_UpdateFormData);
            frm.ShowDialog();
        }

        void frm_UpdateFormData(object sender, EventInfo e)
        {
            this.textBox1.Text = e.str1;
            this.textBox2.Text = e.str2;
        }
    }

namespace ApiDemo
{
    public partial class Form8 : Form
    {
        public  event EventHandler<EventInfo> UpdateFormData;

        public Form8()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (UpdateFormData != null)
            {
                EventInfo et=new EventInfo();
                et.str1=this.textBox1.Text;
                et.str2=this.textBox2.Text;
                UpdateFormData(null, et);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (UpdateFormData != null)
            {
                EventInfo et = new EventInfo();
                et.str1 = this.textBox3.Text;
                et.str2 = this.textBox4.Text;
                UpdateFormData(null, et);
            }
        }
    }
}
public class EventInfo : EventArgs
{
    public string str1 { get; set; }
    public string str2 { get; set; }
}
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复
我想要的效果是点击form1的button1,弹出form2: 1.点击form2的1(button),form1的text1,text2用得是form2的text1,text11的值, 2.点击form2的2(button),form1的text1,text2用得是form2的text2,text22的值, 不知道能否理解我想表达的意思.
yezhendong185 2013-04-01
  • 打赏
  • 举报
回复
引用 8 楼 huozhiheng 的回复:
那如果我的text1绑定了两个变量,点击button1就显示text1的两个变量呢 如下图,form2中的text1,text11都是绑定在form1中的text1上
参数多少的问题不是一样的道理么?
huozhiheng 2013-04-01
  • 打赏
  • 举报
回复
那如果我的text1绑定了两个变量,点击button1就显示text1的两个变量呢
如下图,form2中的text1,text11都是绑定在form1中的text1上

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧