上下文菜单和将项添加到文本框c#

时间:2017-03-26 12:38:53

标签: c# contextmenu

所以,我试图做的是:

有一个文本框或项目,可以为其添加可点击的按钮。我不知道如何完全解释它,但基本上对于文件夹中的每个文件,添加一个按钮,当您单击它时将打印该文本文件中的文本。

尝试更好地解释它: 表单上的一个项目,对于目录中的每个文本文件,它将添加一个上下文菜单,其中包含自定义选项以将其打印到文本框中。

很抱歉,如果我没有完全解释,但我打算在需要时以更合理的方式重写。

我目前的代码是

String path = AppDomain.CurrentDomain.BaseDirectory;
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);

foreach (string s in files)
{
      string file = s.Replace(path + "\\", "").Replace(path + "\\", "").Replace(path + "\\", "");
      richTextBox1.AppendText(file + "\n");
      ContextMenu cm = new ContextMenu();
      cm.MenuItems.Add(file)
}

http://i.imgur.com/gKaZqOY.png

它打印目录中的文本文件很好,但我希望能够右键单击它们并在其中添加文本以转到文本框。

1 个答案:

答案 0 :(得分:1)

我完全不了解你,但你可以将txtfile中的数据加载到类似于richTextBox的数据:

 DialogResult result1 = openFileDialog1.ShowDialog(); // Show the dialog.
            if (result1 == DialogResult.OK) // Test result.
            {
                string file = openFileDialog1.FileName;
                try
                {
                    string line;
                    // Read the file and display it line by line.
                    System.IO.StreamReader file1 =
                       new System.IO.StreamReader(file, true);
                    while ((line = file1.ReadLine()) != null)
                    {
                        richTextBox1.LoadFile(file,RichTextBoxStreamType.PlainText);
                    }
                    richTextBox1.Clear();
                    file1.Close();
                }
                catch (System.IO.IOException)
                {
                    MessageBox.Show("The file could not be read:");

                }
            }