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

Winform启动另一个项目传值的方法

程序员文章站 2023-12-17 08:16:28
本文实例讲述了winform启动另一个项目传值的方法。分享给大家供大家参考。具体如下: 背景:从a项目中登陆后,跳转到b项目的某个页面(b不再登陆)。 a项目启动进程:...

本文实例讲述了winform启动另一个项目传值的方法。分享给大家供大家参考。具体如下:

背景:从a项目中登陆后,跳转到b项目的某个页面(b不再登陆)。

a项目启动进程:

复制代码 代码如下:

public form1()
{
    initializecomponent();
}
#region 调用进程
[dllimport("shell32.dll")]
private static extern int shellexecute(
     intptr hwnd,
     string lpoperation,      //多为"open"
     string lpfile,           //文件名称
     string lpparameters,   //参数
     string lpdirectory,      //文件路径
     int nshowcmd
     );
/// <summary>
/// 加载相应的应用程序
/// </summary>
private void startapplication(string projname, string arg)
{
    shellexecute(intptr.zero, "open", projname, arg, application.startuppath + @"\", 1);
}
#endregion


private void btnjump_click(object sender, eventargs e)
{
    startapplication("b", "doctor,00045,14092701");//从这里跳转
}

b项目中:

复制代码 代码如下:
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[stathread]
static void main(string[] args)
{
    application.enablevisualstyles();
    application.setcompatibletextrenderingdefault(false);
    if (args.length>0)
    {
       string[] strarr = args[0].tostring().split(new char[] { ','});
       application.run(new mainform(strarr[0], strarr[1], strarr[2]));
    }
    else
    {
 application.run(new mainform());
    }
}

备注:

1.其中b项目main方法的参数 string[] args,只能接收args[0],这一个string串,而不是整个数组。所以a项目传值的时候,传递的是string(使用逗号,来分割)。

2. 重载方法application.run(new mainform())来传递这三个参数:strarr[0], strarr[1], strarr[2]。

3.属性传值方法:

复制代码 代码如下:

public mainform(string _module,string _userid,string _patientid)
{
    initializecomponent();
    module = _module;
    userid = _userid;
    patientid = _patientid;
}  
     private string userid="";
public string userid
{
    get { return userid; }
    set { userid = value; }
}

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

上一篇:

下一篇: