Вы должны сохранить ссылку на форму в основной форме и использовать эту ссылку для управления созданной формой.
public class APOForm : Form
{
FormResult formChild;
// this is a pseudo method to show how to create a sub form.
private void ShowChildForm()
{
formChild = new FormResult();
formChild.MdiParent = this;
formChild.Show();
}
private void stretchHistogram_Click(object sender, EventArgs e)
{
if(formChild != null)
{
formChild.histogram.Series.Clear();
formChild.histogram.Show();
}
}
}
А в классе FormResult
нет необходимости в новой форме.
public partial class FormResult : Form
{
private void FormResult_Load(object sender, EventArgs e)
{
//var mainForm = new APOForm();
//FormResult formResult = new FormResult();
//formResult.Owner = this;
......
}
}
Для полноты (и откровенно удивленный это еще не упоминается, даже при том, что все другие ответы лучше и/или "более корректны"), очевидно, можно также использовать (специально для grep
поклонники):
$ ls | egrep -i '^SomeLongString'
можно было бы также всунуть избыточное ls -1
(это - опция "один", не "эль"), но при передаче каналу каждая запись уже будет тем на строку, так или иначе. Я обычно использовал бы что-то вроде этого (по сравнению с set
) в сценариях оболочки, например, в for
/ while
цикл: for i in $(ls | grep -i ...)
. Однако другой ответ с помощью find
был бы предпочтительным & более гибкий при том обстоятельстве, потому что можно, например, опустить каталоги (или установить другие ограничения): for i in $(find . -type f -iname 'SomeString*' -print -maxdepth 1)...
или даже воздерживаются от цикла в целом и просто используют питание find
совершенно отдельно, например: find ... -exec do_stuff {} \; ...
, но я действительно отступаю (снова, для полноты.)