public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void cmdAdd_Click(object sender, EventArgs e)
{
OpenFileDialog OP = new OpenFileDialog();
OP.Title = "Please select the wanted .exe";
string FileName = String.Empty;
string PathName = String.Empty;
OP.InitialDirectory = @"C:\Users\" + Environment.UserName.ToString() + @"\Desktop";
OP.DefaultExt = ".exe";
OP.Filter = "Game executable (*.exe) |*.exe";
DialogResult Ergebnis = OP.ShowDialog();
if (Ergebnis == DialogResult.OK)
{
FileInfo File = new FileInfo(OP.FileName);
if (File.Exists)
{
PathName = File.FullName;
}
}
if (PathName != String.Empty)
{
textBox1.Text = PathName;
listBox1.Items.Add(PathName);
}
}
private void cmdStart_Click(object sender, EventArgs e)
{
string SelectedItem = "";
if (listBox1.SelectedItem != null)
{
SelectedItem = listBox1.SelectedItem.ToString();
/*MessageBox.Show(SelectedItem);*/
}
Process Pro = new Process();
Pro.StartInfo.FileName = SelectedItem;
DialogResult Ergebnis2 = MessageBox.Show("Would you like to start the Game right now?", "Game start?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (Ergebnis2.Equals(true))
{
try
{
Pro.Start();
}
catch (Exception)
{
MessageBox.Show("The Start of the Program was aborted!\r\nOr you didn't specify the right Path!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
private void cmdSave_Click(object sender, EventArgs e)
{
StreamWriter SaveFile = new StreamWriter(@"C:\Users\" + Environment.UserName.ToString() + @"\Desktop\savedgames.txt");
foreach (var item in listBox1.Items)
{
SaveFile.WriteLine(item.ToString());
}
SaveFile.Close();
MessageBox.Show("EZPZ");
}
private void cmdLoad_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader(@"C:\Users\" + Environment.UserName.ToString() + @"\Desktop\savedgames.txt");
string line = string.Empty;
try
{
line = sr.ReadLine();
while (line != null)
{
this.listBox1.Items.Add(line);
line = sr.ReadLine();
}
sr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sr.Close();
}
}
}
Привет StackOverflow-сообщества,Как загрузить контуры в ListBox, а затем запустить файл на выбранный индекс
Так я пытался быть в состоянии запустить выбранный файл (из Listbox), нажав Start. Элементы в Listbox загружаются из .txt-файла. Но кажется, что путь, который я получаю (из .txt-файла), на самом деле не тот, который был написан внутри.
Например: H: \ Exe \ 556689600.exe записывается внутри .txt-файла, но когда я проверяю при приостановке приложения, значение SelectedItem равно «H: (две обратные косые черты) Exe (две обратные косые черты) 556689600 .exe ", поэтому мне бы хотелось, чтобы это был файл H: \ Exe \ 556689600.exe, чтобы он мог быть правильно запущен.
EDIT: Основная проблема заключается в том, что я не могу запустить .exe, который я выбрал (через cmdStart), и я не знаю почему.
Пожалуйста, имейте в виду, что я (как вы можете видеть из кода), не очень опытный в программировании, и что я не являюсь носителем английского языка, поэтому прошу прощения за любые грамматические ошибки/логические ошибки.
Спасибо заранее, Стивен
Это нормально. Обратная косая черта используется как escape-символ, поэтому по путям вам нужно 2 – Pikoh