首页 > 代码库 > WInform启动另一个项目传值
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 nShowCmd14 );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 #endregion23 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 else15 {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 UserID11 {12 get { return userID; }13 set { userID = value; }14 }
WInform启动另一个项目传值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。