欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现两个窗体之间数值传送的方法

程序员文章站 2022-03-21 14:01:42
本文实例讲述了c#实现两个窗体之间数值传送的方法。分享给大家供大家参考,具体如下: 以下是本人常用的方法,其实方法很多,但我觉得这两种我比较好理解,要是哪位朋友有比较简单...

本文实例讲述了c#实现两个窗体之间数值传送的方法。分享给大家供大家参考,具体如下:

以下是本人常用的方法,其实方法很多,但我觉得这两种我比较好理解,要是哪位朋友有比较简单的易懂的其他方法,希望不吝赐教。

方法一:

比如要在form2里得到form1里的值,先在form1里定义一个公有的字符串

复制代码 代码如下:
public string zhi="xxxxxx";

然后form2里用form1去实例化一个对象

复制代码 代码如下:
form1 f=new form1();

最后用 f.zhi来取得form1里的值。(f.show()也是一个道理,即对象名.方法名)

方法二:

比如要在form1里得到form2里的值,利用get,set方法。
在form2里放一个textbox,写一个公有属性

public string transsformvalue
{
 get
   {
    return this.textbox1.text;
   }
 set
   {
    this.textbox1.text=value; 
  }
}

在form1里这么写(在里面也加一个textbox):.

form2 f=new form2();
f.transsformvalue="aaaa";
textbox1=f.transsformvalue;
f.show();

这样运行后是将form2的文本框的值设为“aaaa”,并且显示在form1里的文本框里

实例演示

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 windowsformsapplication17
{
  public partial class form1 : form
  {
    public form1()
    {
      initializecomponent();
    }
    private void form1_load(object sender, eventargs e)
    {
    }
    private void button1_click(object sender, eventargs e)
    {
      inputbox f = new inputbox();
      f.title = "请输入对话框";
      f.tiptext = "请输入年龄";
      if (f.showdialog() == dialogresult.ok)
        this.label1.text = f.message;
    }
  }
}
//inputbox的forml里这么写
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 windowsformsapplication17
{
  public partial class inputbox : form
  {
    public inputbox()
    {
      initializecomponent();
    }
    public string title
    {
      set { this.text = value; }
    }
    public string message
    {
      get { return this.input.text; }
    }
    public string tiptext
    {
      set { this.tip.text = value; }
    }
    private void inputbox_load(object sender, eventargs e)
    {
      this.acceptbutton = this.btnok;
      this.cancelbutton = this.btncancel;
      this.btnok.dialogresult = dialogresult.ok;
      this.btncancel.dialogresult = dialogresult.cancel;
    }
  }
}

运行效果截图如下:

C#实现两个窗体之间数值传送的方法

希望本文所述对大家c#程序设计有所帮助。