使用按钮使用所选文件执行另一个应用程序(C#编程)

时间:2015-02-12 05:35:16

标签: c# openfiledialog windows-applications

首先,我是C#编程的新手,我已经尝试使用Google搜索关于我的问题的解决方案,但似乎我找不到,或者只是太不走运或太盲目无法发现问题。我使用的是Microsoft Visual Studio 2005.

反正。我被分配了修改/创建自动化测试环境输入应用程序。所述应用程序已经具有使用预定义文件运行/启动CANoe程序的功能,或者如果它已经运行,则停止该程序。

private void button1_Click(object sender, EventArgs e)
    {
        // Execute CANoe(Obtain CANoe application objectg)
        mApp       = new CANoe.Application();
        mMsr       = (CANoe.Measurement)mApp.Measurement;

        try
        {
            mApp.Open("C:\\Users\\uidr3024\\Downloads\\SRLCam4T0_Validation_ControlTool\\cfg\\SVT_SRLCam4T0_025B.cfg", true, true);
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine(ex.Message);
        }
    }


    private void button2_Click(object sender, EventArgs e)
    {
        // Finish CANoe
        if (mApp != null) {
            mApp.Quit();            
        }
        // Release the object
        fnReleaseComObject(mMsr);
        fnReleaseComObject(mApp);
    }

我现在要做的是拥有一个OpenFileDialog框,它将显示一系列文件,用户将能够浏览并选择任何文件以使用所选文件启动CANoe程序,而不仅仅是文件路径&# 39;在" mApp.Open()"中输入了代码。句法。我试过这个:

private void button5_Click_1(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.InitialDirectory = @"C:\Users\uidr3024\Downloads\SRLCam4T0_Validation_ControlTool\cfg";
        openFileDialog1.Title = "Browse Configuration Files";
        openFileDialog1.CheckFileExists =  true;
        openFileDialog1.CheckPathExists = true;
        openFileDialog1.Filter = "CANalyzer/CANoe Configuration (*.cfg)|*.cfg |All files (*.*)|*.*";
        openFileDialog1.FilterIndex = 1;
        openFileDialog1.RestoreDirectory = true;

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            textBox1.Text = openFileDialog1.FileName;
        }
    }

我已尝试过这些我经常在网络和教程中看到的代码,但我不知道如何将其与用于运行CANoe程序的按钮合并,以便在用户点击“打开”按钮时从对话框中,文件路径将显示在文本框中(可选)和/或当用户单击Start CANoe时,CANoe程序将从选定的.cfg文件开始。

我在这里有意义吗?或者我在这里做对了吗?

顺便说一下,我发现了这些......而我正在使用CANoe库来实现这些目标。

    #region "***** CANoe Object definition *****"
    private CANoe.Application      mApp          = null; // CANoe Application CANoeƒAƒvƒŠƒP[ƒVƒ‡ƒ“
    private CANoe.Measurement      mMsr          = null; // CANoe Mesurement function CANoe‘ª’è‹@”\
    private CANoe.Variable         mSysVar       = null; // System variable ƒVƒXƒeƒ€•Ï”
    private CANoe.Variable         mSysVar_start = null; // System variable ƒVƒXƒeƒ€•Ï”
    #endregion

1 个答案:

答案 0 :(得分:0)

我认为你已经完成了大部分艰苦的工作,除非我错过了一些我认为你需要在button1_Click方法中使用的东西:

if( textBox1.Text != String.Empty && System.IO.File.Exists(textBox1.Text) )
{
    // The textbox has a filename in it, use it
    mApp.Open(textBox1.Text, true, true);
}
else
{
    // The user hasn't selected a config file, launch with default
    mApp.Open("C:\\Users\\uidr3024\\Downloads\\SRLCam4T0_Validation_ControlTool\\cfg\\SVT_SRLCam4T0_025B.cfg", true, true);
}