2012-01-24 1 views
0

мне интересно, если кто-нибудь знал, как открыть активный (выделенный) элемент в блокноте с помощью кнопкиОткрытие активного элемента в виде списка с notepad.exe

Я получил это прямо сейчас (смех у меня.)

Process.Start("notepad.exe", listView1.ItemActivate); 

Очевидно, что это не работает, кто-нибудь знает, что делать: х

http://pastie.org/3241590 источник для людей лол @

+0

Что вы назначая свои ценности TreeNode (или, по крайней мере, теги) на? Я предполагаю, конечно, что вы имеете в виду winforms, поскольку вы не указали. –

+0

Это файловый браузер, поэтому файлы. – hexxy

ответ

1

ItemActivate на самом деле событие. Вам нужно будет обработать это событие и поместить там код Process.Start.

Что-то вроде:

private void listView1_ItemActivate(Object sender, EventArgs e) 
{ 
    // You'll want to use index 0 for the first item (or only item) selected. 
    // 
    // You'll need to dig down into the SelectedItem to get the string for 
    // the file to launch. 
    // 
    Process.Start("notepad.exe", listView.SelectedItem(0), ...); 
} 
+0

Спасибо, но я использую C#; x, и я действительно не понимаю. – hexxy

+0

Обучение чтению как VB.Net, так и C# будет необходимо для вашего учебного процесса. Найдите минутку, чтобы прочитать фактический код, и это должно иметь смысл. VB.Net довольно многословный. – Origin

+0

По-прежнему не получается: [ – hexxy

0

набор тег ListViewItem, как полный файл

FItems.Tag = fileFullPath; 

, то вы можете открыть файл с помощью тега

Process.Start("notepad.exe", listView1.SelectedItems[0].Tag.ToString()); 

в вашем обновлении кода, как показано ниже

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) 
     { 
      try 
      { 
       TreeNode current = e.Node; 
       string path = current.FullPath; 
       string[] Files = Directory.GetFiles(path); 
       string[] Directories = Directory.GetDirectories(path); 
       string[] subinfo = new string[3]; 
       listView1.Clear(); 
       listView1.Columns.Add("Name", 255); 
       listView1.Columns.Add("Size", 100); 
       listView1.Columns.Add("Type", 80); 
       foreach (string Dname in Directories) 
       { 
        subinfo[0] = GetFileName(Dname); 
        subinfo[1] = ""; 
        subinfo[2] = "FOLDER"; 
        ListViewItem DItems = new ListViewItem(subinfo); 
        listView1.Items.Add(DItems); 
       } 
       foreach (string Fname in Files) 
       { 
        subinfo[0] = GetFileName(Fname); 
        subinfo[1] = GetSizeinfo(Fname); 
        subinfo[2] = GetTypeinfo(Fname); 
        ListViewItem FItems = new ListViewItem(subinfo); 
        FItems.Tag = Fname; // set the tag here 
        listView1.Items.Add(FItems); 

       } 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, "Error!!"); 
      } 

     } 

и нажмите событие, как показано ниже

private void button9_Click(object sender, EventArgs e) 
    { 
     Process.Start("notepad.exe", listView1.SelectedItems[0].Tag.ToString()); 
    } 
+0

Первый пример работает, открывает блокнот, но блокнот говорит, что он не может найти файл, второй просто бросает всевозможные ошибки. – hexxy

+0

Обновлено со всем сосом .. – hexxy

+0

Спасибо большое, что сработало отлично :) – hexxy

-1

Попробуйте это:

код, чтобы открыть записную книжку с содержанием в текстовом поле

Clipboard.SetDataObject(textBox1.Text, true); 
Process.Start("notepad"); 
System.Threading.Thread.Sleep(500); 
SendKeys.SendWait("^v"); 
+0

Последнее, что я проверил, приложения WinForms не поддерживают JQuery ... И веб-приложения не открывают Блокнот. –

+0

Hi Cody Пожалуйста, проверьте это. – Vinod

Смежные вопросы