Как обновить родительскую winform из дочерней winform? - PullRequest
0 голосов
/ 15 марта 2019

Событие перемещения мыши родительской кнопки Window Forms правильно попадает в метку строки состояния дочерней формы окна ... но противоположное этому не работает означает "событие перемещения мыши кнопки дочерней формы окна не отображается в метка строки состояния родительского окна, пожалуйста, помогите

enter image description here

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Один из хороших способов сделать это - использовать события в вашем дочернем классе:

Сначала объявите событие:

public partial class ChildForm: Form
{
        public event EventHandler ButtonClicked;
        public ChildForm()
        {
            InitializeComponent();
        }
}

Затем вызовите его в кнопке onClick метода дочерней формы:

...

ButtonClicked?.Invoke();

...

если событие onclick button_onclick, оно будет выглядеть так:

private void button_onclick(object sender, EventArgs e)
{
      ButtonClicked?.Invoke();      

}

и добавьте свой логин обновления к этому событию, когда вы объявляете эту дочернюю форму из родительской формы:

var childForm = new ChildForm();
childForm.ButtonClicked += (e,args)=>{
//put the logic here
}
childForm.Show();
0 голосов
/ 15 марта 2019

Вы можете использовать ссылку, подобную этой:

   public partial class MainForm : Form
    {
    YourChildForm ycf = new YourChildForm(this);
    ycf.Show();
    }

И в вашей дочерней форме:

public partial class YourChildForm : Form
{
   MainForm mf_ref
   public YourChildForm(MainForm mf)
   {
      InitializeComponent();
      mf_ref = mf;
   }
}

Теперь вы можете получить доступ ко всем методам pubblic в вашей основной форме, просто используя

mf_ref.SomeMethod();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...