private void AssignTrackMenuItem_Click(object sender, EventArgs e) { int index = -1; int menuItemIndex; for (int i = 0; i < soundBoardContextMenus.Count; i++) { menuItemIndex = 0; if (soundBoardContextMenus[i].MenuItems.Count == 4) { menuItemIndex = 2; } if (sender.Equals(soundBoardContextMenus[i].MenuItems[menuItemIndex])) { index = i; break; } } if (index != -1) { OpenFileDialog openMidiFileDialog = new OpenFileDialog(); openMidiFileDialog.DefaultExt = "mid"; openMidiFileDialog.Filter = "MIDI files|*.mid|All files|*.*"; openMidiFileDialog.Title = "Open MIDI file"; if (openMidiFileDialog.ShowDialog() == DialogResult.OK) { SoundBoardItem soundBoardItem; if (soundBoardManager.IsTrackAssigned(index)) { soundBoardItem = soundBoardManager.GetTrack(index); } else { soundBoardItem = new SoundBoardItem(); } string fileName = openMidiFileDialog.FileName; string filteredFileName = fileName; if (fileName.Contains("\\")) { string[] fileNameSplit = fileName.Split('\\'); filteredFileName = fileNameSplit[fileNameSplit.Length - 1].Replace(".mid", ""); } soundBoardItem.Path = fileName; soundBoardItem.Name = filteredFileName; soundBoardManager.SetTrack(soundBoardItem, index); } } RefreshButtons(); }