обновить родительский элемент управления из формы управления пользователя - PullRequest
0 голосов
/ 11 октября 2019

У меня есть один пользовательский элемент управления gridview, значение которого меняется каждую секунду, поэтому я установил один таймер с интервалом 1 сек и обновил gridview,

Теперь я хочу обновить его значение метки родительской формы согласно общему количеству gridviewстроки, внутри таймера

я попробовал ниже код в пользовательской форме управления

  if (ParentFormInstance != null)
                    {

                        Label mylabel = (ParentFormInstance.Controls["lblTotalDevices"] as Label);                     
                        mylabel.Text = totalcount.ToString();
                    }

у меня есть одно свойство в пользовательском управлении

 public FormEmuHost ParentFormInstance { get; set; }

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

 public FormEmuHost(string ISdeveloper, EmuSettings emuSettings)
            {
                InitializeComponent();
            this.emuDeviceListControl1.ParentFormInstance = this;
            }

Проблема в том, что я всегда получаю нулевое значение элемента управления меткой в ​​пользовательской форме управления enter image description here

1 Ответ

0 голосов
/ 15 октября 2019

Вы можете создать Событие и Огонь Выключить его в вашем пользовательском элементе управления

public partial class CustomMapShapeEditor : UserControl
{
        public CustomMapShapeEditor()
        {
            InitializeComponent();
        }

        public EventHandler Ev_BTN_Pressed ;

        private void BTN_Click(object sender, EventArgs e)
        {
            if (Ev_BTN_Pressed != null)
                Ev_BTN_Pressed (this, e);
        }

}

А затем в родительской форме Подписаться к событию и обрабатывать событие.

this.childForm.Ev_BTN_Pressed += HandleChildBtnPress;

internal void HandleChildBtnPress(object sender, EventArgs e)
{

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