ОК. У меня есть список строк (фактически имен файлов), которые я хочу создать в динамическом виде в меню файлов.
Итак, взяв мой список имен файлов, первые полосы кода строки каталога и суффикса файла (для дополнительного вопроса, как я могу объединить две строки удаления в одну?)
List<string> test_ = populate.Directorylist();
foreach (var file_ in test_)
{
int len_ = file_.Length;
string filename_ = file_.Remove(0, 8);
filename_ = filename_.Remove(filename_.Length - 4).Trim();
ToolStripItem subItem = new ToolStripMenuItem(filename_);
subItem.Click += new EventHandler(populate.openconfig(file_)); //this is my problem line
templatesToolStripMenuItem.DropDownItems.Add(subItem);
Так что просто прокручивайте список и каждый раз добавляйте элемент в "templatesToolStripMenuItem".
но мне нужно добавить событие, которое, когда пользователь щелкает элемент, отправляет переменную file_ varible в метод populate.openconfig.
так что добавление элементов работает нормально, как мне добавить обработку событий?
Полагаю, я мог бы отправить его методу по умолчанию, который ищет полное имя файла в исходном массиве иследуйте по этому пути.Но, конечно, я могу сделать это, добавляя элементы в строку меню.
Спасибо
Аарон
Так что да, в конце концов, я добавил
subItem.tag = File_
....
then have the event handle to
void subItem_Click (object sender, EventArgs e) //open files from menu
{
ToolStripMenuItem toolstripItem = (ToolStripMenuItem)sender;
string filename_ = toolstripItem.Tag.ToString(); //use the tag field
populate.openconfig(filename_);
populate.Split(_arrayLists); //pass read varible dictonary to populate class to further splitting in to sections.
Populatetitle();//Next we need to populate the Titles fields and datagrid view that users will enter in the Values
}
и только что увидел, как можно привести в порядок немного больше:)
Приветствую вас, ребята, за помощь, просто обожаю, сколько можно шкурить кошку :)