zoukankan      html  css  js  c++  java
  • WInform启动另一个项目传值

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

    A项目启动进程:

     1      public Form1()
     2         {
     3             InitializeComponent();
     4         }
     5         #region 调用进程
     6         [DllImport("Shell32.dll")]
     7         private static extern int ShellExecute(
     8              IntPtr hwnd,
     9              string lpOperation,      //多为"open"
    10              string lpFile,           //文件名称
    11              string lpParameters,   //参数
    12              string lpDirectory,      //文件路径 
    13              int nShowCmd
    14              );
    15         /// <summary>
    16         /// 加载相应的应用程序
    17         /// </summary>
    18         private void StartApplication(string projname, string arg)
    19         {
    20             ShellExecute(IntPtr.Zero, "Open", projname, arg, Application.StartupPath + @"", 1);
    21         }
    22         #endregion
    23        
    24 
    25         private void btnJump_Click(object sender, EventArgs e)
    26         {
    27             StartApplication("B", "Doctor,00045,14092701");//从这里跳转
    28         }

    B项目中:

     1    /// <summary>
     2         /// 应用程序的主入口点。
     3         /// </summary>
     4         [STAThread]
     5         static void Main(string[] args)
     6         {
     7             Application.EnableVisualStyles();
     8             Application.SetCompatibleTextRenderingDefault(false);
     9             if (args.Length>0)
    10             {
    11                string[] strArr = args[0].ToString().Split(new char[] { ','});
    12                Application.Run(new MainForm(strArr[0], strArr[1], strArr[2]));
    13             }
    14             else
    15             {
    16                 Application.Run(new MainForm());
    17             }
    18         }

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

       2. 重载方法Application.Run(new MainForm())来传递这三个参数:strArr[0], strArr[1], strArr[2]。

       3.属性传值方法:

     1       public MainForm(string _module,string _userID,string _patientID)
     2         {
     3             InitializeComponent();
     4             module = _module;
     5             userID = _userID;
     6             patientID = _patientID;
     7         }   
     8       private string userID="";
     9         public string UserID
    11         {
    12             get { return userID; }
    13             set { userID = value; }
    14         }
  • 相关阅读:
    Java 处理 XML
    Spring MVC全局异常处理
    ThreadLocal与Synchronized区别
    office xml 方式
    Nginx ssl证书部署方法
    利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转
    Nginx使用GZIP来压缩网页
    Kibana安装与基本用法(ELK)
    用Linux自带的Logrotate来管理日志
    Net accounts命令
  • 原文地址:https://www.cnblogs.com/yexiaoyanzi/p/4095125.html
Copyright © 2011-2022 走看看