Haluaisin saada buttonclick-tapahtumalla avattua listboxin selectedindexin. En vain saa millään toimimaan tuota, että saisin välitettyä string[] taulukon parametrina aliohjelmaan. Vinkkejä kaivataan.
private void Kasittely() ... { string[] tiedostonimet = Directory.GetFiles(hakemisto, "*.txt", SearchOption.AllDirectories); } ... private void AvaaTiedosto(string[] tiedostonimet) { System.Diagnostics.Process.Start("notepad.exe", tiedostonimet[listBox1.SelectedIndex]); } private void button3_Click(object sender, EventArgs e) { AvaaTiedosto(); } private void AvaaTiedosto() { //throw new NotImplementedException(); }
System.Diagnostics.Process.Start("notepad.exe", listbox.Items[listbox.SelectedItemIndex].ToString());
EDIT. Stringi muunnos unehtu
Alkoi toimimaan, tosin piti vielä muuttaa string-tyyppiseksi. Kiitos.
Noi NuMiNi!
Miksi tehdä asiat monen mutkan kautta..?
using System; using System.Diagnostics; using System.IO; using System.Windows.Forms; namespace StartFromComboboxSeletedItem { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } void MainFormLoad(object sender, EventArgs e) { comboBox1.DataSource = Directory.GetFiles( Environment.GetFolderPath( Environment.SpecialFolder.MyDocuments), "*.txt", SearchOption.AllDirectories); comboBox1.SelectedIndex = 0; } void Button1Click(object sender, EventArgs e) { KillNotepad(); Process.Start("notepad.exe", comboBox1.SelectedItem.ToString()); comboBox1.Focus(); } void KillNotepad() { foreach (Process proc in Process.GetProcesses()) { if (proc.ProcessName == "notepad") { proc.Kill(); } } } } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.