Winform啟動另外一個項目傳值的辦法。本站提示廣大學習愛好者:(Winform啟動另外一個項目傳值的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Winform啟動另外一個項目傳值的辦法正文
本文實例講述了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#法式設計有所贊助。