I have a Form on my application that contains several UserControls.
Each user control contains several custom buttons that I have derived from the button class.
I am trying to get at a button from the UserControl where the name of both the Button and UserControl names are stored in a config (XML) file. If I hard code the control getting the button is easy.
I cannot work out how to get the UserControl itself.
parent is my main form and this is called from an instance of a class on the form.
private void RemoveUnwantedScenes(Boolean _isMain, string _thisScene, Viz_ability.VizCommands.VizCommand.VizLayer _layer, UserControl _control) { Viz_ability.VizCommands.VizCommand command; List<string> scenes; if (_isMain) { command = vizMain; scenes = mainScenes; } else { command = vizPreview; scenes = previewScenes; } UserControl control = null; for (int i = scenes.Count - 1; i > -1; i--) { string scene = scenes[i]; XmlNodeList nodeList = xml_sceneDoc.SelectNodes("scenes/scene[name = '" + _thisScene + "']/shares/share[. = '" + scene + "']"); if (nodeList.Count == 0) { String userControlName = DataCenter.XMLUtilities.GetElementValue(xml_sceneDoc, "scenes/scene[name = '" + scene + "']/userControl"); if (!String.IsNullOrEmpty(userControlName)) { control = (UserControl)(parent.Controls.Find(userControlName, false).FirstOrDefault()); } ClearScene(_isMain, scene, _layer); //Remove pre existing scene scenes.Remove(scene); XmlNode resetButton = xml_sceneDoc.SelectSingleNode("scenes/scene[name = '" + scene + "']/resetButton"); if ((resetButton != null) && (control != null)) { Control[] matches = control.Controls.Find(resetButton.InnerText, true); if (matches.Length > 0 && matches[0] is MutexPreviewButton) { MutexPreviewButton btn = (MutexPreviewButton)matches[0]; btn.ResetButton(); } } } } }
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.