private void ToolStripMenuItem_NomalCal_Click(object sender, EventArgs e)
{
Process.Start(Application.StartupPath + Path.DirectorySeparatorChar + "Cal" + Path.DirectorySeparatorChar + "WinCal.exe");
} private void ToolStripMenuItem_ProfressionalCal_Click(object sender, EventArgs e)
{
Process.Start(Application.StartupPath + Path.DirectorySeparatorChar + "Cal" + Path.DirectorySeparatorChar + "MyCal.exe"); }
有颜色的地方我都不懂。是什么意思?麻烦详细点,谢谢
{
Process.Start(Application.StartupPath + Path.DirectorySeparatorChar + "Cal" + Path.DirectorySeparatorChar + "WinCal.exe");
} private void ToolStripMenuItem_ProfressionalCal_Click(object sender, EventArgs e)
{
Process.Start(Application.StartupPath + Path.DirectorySeparatorChar + "Cal" + Path.DirectorySeparatorChar + "MyCal.exe"); }
有颜色的地方我都不懂。是什么意思?麻烦详细点,谢谢
_Click就是他们的Click事件Process.Start()就是 类似于我的电脑->运行Application.StartupPath + Path.DirectorySeparatorChar + "Cal" + Path.DirectorySeparatorChar + "WinCal.exe"
这个是在拼凑字符串,找到这个WinCal.exe的地址,这样Process.Start()就可以运行这个exe
如果是比较正规的开发团队写这种代码 肯定 会被打回来的 以后代码不要写成这种样子,多分几行,编译成IL 其实是差不多的,但是你就不会这么费劲了。
Application.StartupPath 是你的应用程序 所在的路径
Path.DirectorySeparatorChar 是 文件夹分割符号
简单来说 这个MyCal.exe 应该在 你的应用程序 同文件夹下的 Cal文件夹里。
两个菜单项的点击事件触发了两个方法。
因为两个方法是一样的道理,只举例说说第一个。
Process.Start(Application.StartupPath + Path.DirectorySeparatorChar + "Cal" + Path.DirectorySeparatorChar + "WinCal.exe");Process.Start(),是一个静态方法,以进程形式启动程序。
Start方法里面的参数是拼要启动程序的完整路径。
Application.StartupPath,系统默认生成exe启动文件的位置,一般在bin\Debug下面。
Path.DirectorySeparatorChar,为了生成"\\"。