Открытие активного элемента в виде списка с помощью notepad.exe - PullRequest
0 голосов
/ 24 января 2012

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

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

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

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

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

Ответы [ 3 ]

1 голос
/ 24 января 2012

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 голосов
/ 24 января 2012

Попробуйте:

Код для открытия блокнота с содержимым в текстовом поле

Clipboard.SetDataObject(textBox1.Text, true);
Process.Start("notepad"); 
System.Threading.Thread.Sleep(500); 
SendKeys.SendWait("^v"); 
0 голосов
/ 24 января 2012

установите тег 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!!");
            }

        }

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

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