Comment puis-je ajouter une forme à une console application de sorte que l'utilisateur peut sélectionner le fichier?

J'ai créé une application console et avoir de travail la façon dont je le veux. À l'aide de la "Ajouter un Élément" > "Ajouter un Formulaire Windows" option dans VS2010, il a automatiquement créé ce dont j'ai besoin. J'ai ajouté un bouton et le code pour récupérer un fichier Excel (ci-dessous) Ma question est:

Comment dois-je prendre le fichier qu'ils ont créé et l'utiliser dans mon programme.cs "Principal"?

Le code de la OpenFileDialog l'événement clic du bouton, de la Form1.cs:

private void btnSelect_Click(object sender, EventArgs e)
{
OFD.openFileDialog OFD = new OpenFileDialog();
OFD.Multiselect = false;
OFD.Title = "Open Excel Document";
OFD.Filter = "Excel Document|*.xlsx;*.xls";
OFD.ShowDialog();
string docPath = OFD.FileName;
}

Qu'une partie de mon statique main event je souhaite faire des "docPath" du programme.cs fichier

static void Main(string[] args)
    {
        var excel = new ExcelQueryFactory();
        excel.FileName = @"C:\Users\Christopher\Desktop\BookData\TestResults.xls";
       <...code executed on opened excel file...>
     }

Je vous remercie pour votre temps.

C'est ma solution finale:

class Program
{
    [STAThread]
    static void Main(string[] args)
    {

        var excel = new ExcelQueryFactory();
        OpenFileDialog OFD = new OpenFileDialog();
        OFD.Multiselect = false;
        OFD.Title = "Open Excel Document";
        OFD.Filter = "Excel Document|*.xlsx;*.xls";
        OFD.ShowDialog();
        string filePath = OFD.FileName;
        excel.FileName= filePath.ToString();
        <.the rest of my program is below...>
    }  
}
Pourquoi ne pas vous suffira de créer un OpenFileDialog directement dans votre application de console?
Il n'est pas possible car nous n'avons pas accès à la System.Windows.Forms
vous avez besoin de référence pour obtenir l'accès. Mais vous ne pouvez pas simplement transférer le nom de fichier à partir de votre application Windows Forms pour votre application Console: ils courent sur des processus différents, chacun a sa propre Main méthode.
J'ai été en mesure d'obtenir la boîte de dialogue pour afficher en ajoutant 'a l'aide du Système.De Windows.Des formes et de l'OFD que j'ai posté ci-dessus + 'excel.FileName = docPath.ToString ()", mais aucun de mes console commentaires montrent?
pensé que l'une: stackoverflow.com/questions/5706723/...

OriginalL'auteur Chris | 2012-09-23