
C#窗口间数据传递问题
建立两个窗体Form1和Form2,Form1有控件button1和textbox1,Form2有控件textbox2和button2,点击button1弹出Form2,...
建立两个窗体Form1和Form2,Form1有控件button1和textbox1,Form2有控件textbox2和button2,点击button1弹出Form2,在textbox中输入字符,点击button2,textbox2中的数据在textbox1中显示出来,同时Form2关闭。请问,该怎么实现,我写的程序会在点击button2后再跳出一个Form1,而前一个Form1也在。
本人初学,谢谢各位帮助 。
form2中的一段code:
private void button1_Click(object sender, EventArgs e)
{
string IMEI = this.textBox1.Text;
string name = this.textBox2.Text;
string time = this.textBox3.Text;
string intel = this.textBox4.Text;
Form1 form = new Form1(IMEI,name,time,intel);
form.Show();
Close();
}
/////////////////////form1
public Form1(string IM,string N,string T,string I)
{
InitializeComponent();
uIMEI = IM;
uname = N;
utime = T;
uintel = I;
string text1 = "IMEI:" + uIMEI + ";别名:" + uname + ";时间:" + utime + ";间隔:" + uintel;
textBox1.Text = text1;
} 展开
本人初学,谢谢各位帮助 。
form2中的一段code:
private void button1_Click(object sender, EventArgs e)
{
string IMEI = this.textBox1.Text;
string name = this.textBox2.Text;
string time = this.textBox3.Text;
string intel = this.textBox4.Text;
Form1 form = new Form1(IMEI,name,time,intel);
form.Show();
Close();
}
/////////////////////form1
public Form1(string IM,string N,string T,string I)
{
InitializeComponent();
uIMEI = IM;
uname = N;
utime = T;
uintel = I;
string text1 = "IMEI:" + uIMEI + ";别名:" + uname + ";时间:" + utime + ";间隔:" + uintel;
textBox1.Text = text1;
} 展开
6个回答
展开全部
Form2窗体 的部分主要代码如下:
public class Form2 : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button button2;
private Form1 f1;
private System.ComponentModel.Container components = null;
public Form2(Form1 f)
{
f1 = f;
InitializeComponent();
}
private void button2_Click(object sender, System.EventArgs e)
{
f1.textBox1.Text = this.textBox2.Text;
this.Close();
}
Form1的 Button1的代码如下:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}
按照我的代码改一下就可以了。
public class Form2 : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button button2;
private Form1 f1;
private System.ComponentModel.Container components = null;
public Form2(Form1 f)
{
f1 = f;
InitializeComponent();
}
private void button2_Click(object sender, System.EventArgs e)
{
f1.textBox1.Text = this.textBox2.Text;
this.Close();
}
Form1的 Button1的代码如下:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}
按照我的代码改一下就可以了。
展开全部
其实有一很简单的
你再Form1里面定义一个引用,
比如:public TextBox textbox1=this.TextBox1;
然后 new Form2().ShowDialog(this);
在Form2中:
(Form1)(this.owner).textbox1.text=this.TextBox2.text;
就行了,记住一定要定义为public,这样才能在Form2中访问到textbox1;
你再Form1里面定义一个引用,
比如:public TextBox textbox1=this.TextBox1;
然后 new Form2().ShowDialog(this);
在Form2中:
(Form1)(this.owner).textbox1.text=this.TextBox2.text;
就行了,记住一定要定义为public,这样才能在Form2中访问到textbox1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用MDI窗体。否则不能时限,其中一个必然要有MAIN函数,如果关闭了带MAIN函数的窗体肯定要出问题,如果使用MID窗体把MAIN()给MID两个窗体随便关没关系了,或者试试加个静态块加载,因为静态块是最先加载的,我没有试过自己试下。如果先加载MAIN肯定不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.参数传递
2.静态变量
2.静态变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用一些静态的变量吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虽然我不太懂c#,但是如果要再显示form1,那就要动态创建窗体,然后显示出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询