Benutzer mit den meisten Antworten
Process.Start(@"'filename'");

Frage
-
Guten Tag,
Ich bin im Moment daran ein Programm zu machen, mit dem man Spiele hinzufügen und starten kann,
"filename" ist ja, die file, aber wie bekomme ich meine file (filename) in mein "Process.Start(@"filename'"); also das sich das ausgewählte Programm öffnet?
Quellcode
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Diagnostics; namespace GymFucker { public partial class frmMain : Form { public frmMain() { InitializeComponent(); } private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { Program.login.Close(); } private void frmMain_Load(object sender, EventArgs e) { btnOpen.Enabled = false; } private void btnClose_Click_1(object sender, EventArgs e) { Environment.Exit(1); } private void btnOpenFileDialog_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Title = "Select Game!"; openFileDialog1.Filter = "Windows Application | *.exe"; string filename; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { filename = openFileDialog1.FileName; MessageBox.Show(filename); lblFile.Text = filename; btnOpen.Enabled = true; } } private void openFileDialog1_FileOk(object sender, CancelEventArgs e) { } private void btnOpen_Click(object sender, EventArgs e) { Process.Start(@"'filename'"); } } }
- Bearbeitet EinfachNurYannick Samstag, 11. Februar 2017 19:12
Antworten
-
Hallo Yannik,
eigentlich einfach nur:
Process.Start( filename );
Da Du "filename" aber in deinem Eventhandler deklariert hast, ist diese Variable auch nur in dieser Methode verfügbar. Daher solltest Du "filename" auf Klassenebene als Variable oder Eigenschaft deklarieren und dieser dann den Wert zuweisen und wieder auslesen.
namespace DeinNamespace { public partial class frmMain : Form { public String SelectedFileName { get; set; } ... private void btnOpenFileDialog_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Title = "Select Game!"; openFileDialog1.Filter = "Windows Application | *.exe"; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.SelectedFileName = openFileDialog1.FileName; MessageBox.Show(filename); lblFile.Text = this.SelectedFileName; btnOpen.Enabled = true; } } private void btnOpen_Click(object sender, EventArgs e) { Process.Start( this.SelectedFileName ); } } }
P.S.: Wähl deine Namen (bspw. der des Namespace) etwas weniger ... sagen wir ... "komisch".
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Samstag, 11. Februar 2017 19:59
- Als Antwort vorgeschlagen Florian Haupt Montag, 13. Februar 2017 08:11
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 24. Februar 2017 11:14
Alle Antworten
-
Hallo Yannik,
eigentlich einfach nur:
Process.Start( filename );
Da Du "filename" aber in deinem Eventhandler deklariert hast, ist diese Variable auch nur in dieser Methode verfügbar. Daher solltest Du "filename" auf Klassenebene als Variable oder Eigenschaft deklarieren und dieser dann den Wert zuweisen und wieder auslesen.
namespace DeinNamespace { public partial class frmMain : Form { public String SelectedFileName { get; set; } ... private void btnOpenFileDialog_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Title = "Select Game!"; openFileDialog1.Filter = "Windows Application | *.exe"; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.SelectedFileName = openFileDialog1.FileName; MessageBox.Show(filename); lblFile.Text = this.SelectedFileName; btnOpen.Enabled = true; } } private void btnOpen_Click(object sender, EventArgs e) { Process.Start( this.SelectedFileName ); } } }
P.S.: Wähl deine Namen (bspw. der des Namespace) etwas weniger ... sagen wir ... "komisch".
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Samstag, 11. Februar 2017 19:59
- Als Antwort vorgeschlagen Florian Haupt Montag, 13. Februar 2017 08:11
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 24. Februar 2017 11:14