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
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
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/...
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
Vous devez vous connecter pour publier un commentaire.
System.Windows.Forms
.using System.Windows.Forms;
au début de votre fichier.[STAThread]
attribut à votreMain
pour le rendre compatible avec le dialogue d'ouverture de fichier.intéressant. Je n'étais pas au courant de cela et serait heureux de upvote une meilleure solution.
OriginalL'auteur Adam