zoukankan      html  css  js  c++  java
  • C# 应用程序之间传值

    C# 应用程序之间传值

    由于做东西需要进行不同应用程序之间传值,为了省资源不想用第三方对象作为载体,去动态帮助那里看了看System.Diagnostics.Process.Start()方法的重载形式,以及谭浩强那本C语言的书中关于Main函数参数的作用,想出了下面这种传值方法,现在拿上来跟大家分享:

    一、在应用程序A中的Button1的click事件中运行此处代码:

    //首先指定好应用程序B的路径

    string path = @"C:\bison_client1.1\bison_client\bin\Debug\客户端.exe";

    string x = "haha";//这里存放的是要传入应用程序B中的值

    System.Diagnostics.Process.Start(path, x);//运行由path指定路径的应用程序B

    二、在应用程序B中的Main函数中添加一个string类型的数组作为接收的参数

    static void Main(string[] args)

    {

    MessageBox.Show(args[0].ToString());

    }

    运行结果:

    相应的详细信息可以看看MSDN里System.Diagnostics.Process.Start()方法的详细内容

    我们经常用到的是窗体间的传值,不过偶尔也会像我这样用到应用程序间的传值,关于窗体的传值方法这里也一起拿出来跟大家分享分享:

    一、推值

    在窗体A的Button1的click事件中运行:

    //把Form1的当前实例传给Form2的构造函数

      Form2 frm2 = new Form2("数值1","数值2");

    frm2.Show();

    在窗体B的中先重新写一个构造函数:

    private string X, Y;//定义一个私有string类型的变量

    //这里别忘记了调用系统自动生成的无参构造函数,在后面写上:this()

    public Form2(string x,string y):this()

    {

       X = x;

       Y = y;

    }

    再在窗体B中添加两个label,在窗体B的Load事件中写如下代码:

    label1.Text = X;

    label2.Text = Y;

    运行结果:

    二、拉值

    在窗体A中的Button1的click事件中写如下代码:

    Form2 frm2 = new Form2();

    this.label1.Text = frm2.UserName;//调用了Form2中公开的UserName属性

    this.label2.Text = frm2.UserID;//调用了Form2中公开的UserID属性

    在窗体B的代码编辑器中写添加UserName和UserID属性:

    public string UserName

    {

       get

       {

           return "张三";

       }

    }

    public string UserID

    {

       get

       {

           return "zs1001";

       }

    }

    运行结果:

                                                        阿车       2010年12月12日

  • 相关阅读:
    51nod 1087 1 10 100 1000(找规律+递推+stl)
    51nod 1082 与7无关的数 (打表预处理)
    51 nod 1080 两个数的平方和
    1015 水仙花数(水题)
    51 nod 1003 阶乘后面0的数量
    51nod 1002 数塔取数问题
    51 nod 1001 数组中和等于K的数对
    51 nod 1081 子段求和
    51nod 1134 最长递增子序列 (O(nlogn)算法)
    51nod 1174 区间中最大的数(RMQ)
  • 原文地址:https://www.cnblogs.com/bison1989/p/1903705.html
Copyright © 2011-2022 走看看