永发信息网

C# 数据传输

答案:3  悬赏:40  手机版
解决时间 2021-04-25 15:09
  • 提问者网友:雾里闻花香
  • 2021-04-25 11:39

我做了两个WINDOWS窗体,一个用来从Excel表中导入数据,另外一个进行数据保存。我现在需要在导入数据的窗体中点击按钮 弹出另外一个窗体,并且在窗体中显示数据。怎么把数据传输到第二个窗体中呢?

这个是数据导入的界面  导入数据以后 点击确定

显示

让数据显示到label 中。。应该怎么写。。我是新手,没什么头绪。。

最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-04-25 12:11
在你要接收数据的窗体(Form2)重载一个带参数的构造方法和一个属性   Form1 f ;   ,参数就是你要传递数据的窗体(Form1)Form2 代码:public class Form2{Form1 f; //一个属性 是窗体1类型的public Form2(){} //无参构造方法public Fomr2(Form1 f){ //有参构造方法this.f=f; //给上面定义的属性赋值}///////////////////////////////////////////////////////////////////////////
Form1 里面点击某个按钮时弹出Form2 事件:{ Form2 f=new Form2(this); //把本窗体传递过去 f.Show(); //显示Form2窗体}}================================================这样当Form2弹出时就已经得到了Form1窗体,就是我们定义的属性f了,然后:Control c=this.f.Controls.FindControl("控件名") ;就可以找到你在Form1中的某个控件了,如果找不到,就把该控件的可见性改成public ,然后既然控件找到了,想必控件的各种属性也可以找到了。。
全部回答
  • 1楼网友:人類模型
  • 2021-04-25 12:46

传过去很简单,就是一个方法,里面放点参数就过去了,就好像你调用MessageBox.Show的时候,传标题内容图标啥的,结果这个弹出来的窗口就变化了,它内部也是这么做的,

所以传什么参数你具体去定,就是定义一个public 的方法,用属性也行的

至于显示值到Label里面这个就简单了,

TextBox知道吧,它的赋值是.Text属性,那么Label也是,在.NET中,默认控件的文本属性,都是.Text

  • 2楼网友:忘川信使
  • 2021-04-25 12:38
了解了窗体的显示相关知识,接着总结一下窗体的传值方法:

1.通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中     int value1; string value2;

public Form2 ( int value1 , string value2 ) {     InitializeComponent ( );

    this.value1 = value1;     this.value2 = value2; }

在窗体Form1中这样调用 new Form2 (

其实很简单

定义一个实体类,用于接收传递过去的对象

如:

public class Deliver

{

public string StatisticsID { get; set; }

public string RecordId { get; set; }

}

接收窗体中定义一个公共方法

如:

public class Receive(Deliver _deliver)

{

//把实体集合中的数据显示在需要显示的控件上...

}

发送窗体

先给实体对象赋值:

Deliver _deliver = new Deliver()

{

StatisticsID ="",

RecordId =""

}

传递值:

form frm = new frm();

frm.Receive(_deliver);

frm.show();

就这么简单....

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯