Как обновить данные в DataGridView, когда форма восстанавливает фокус в C # / Winforms? - PullRequest
0 голосов
/ 31 октября 2019

У меня есть приложение, которое открывает несколько форм в зависимости от потребностей пользователя. Когда главное окно вновь приобретает фокус, я должен знать, чтобы я мог обновить показанные данные, чтобы отразить любые изменения, сделанные другими формами.

До сих пор я пробовал Form.GotFocus , Form.Enter и Form.Activation . Кажется, что они стреляют только тогда, когда форма впервые получает фокус. Если другая форма создается и затем закрывается или просто теряет фокус, главное окно не знает, что оно вернуло фокус, и поэтому данные не обновляются.

private void frmDashboardV3_Load(object sender, EventArgs e)
{
           this.Enter += frmDashboardV3_RefreshCurrentTabPage;
           //this.GotFocus += frmDashboardV3_RefreshCurrentTabPage;
           //this.Activated += frmDashBoardV3_RefreshCurrentTabPage;
}

В основном, когда основное окно восстанавливает фокус, естьдолжно быть событие, к которому я могу подключить свой код, чтобы он обновлял содержимое. Я нигде не могу найти ответ.


РЕДАКТИРОВАТЬ

Я также пытался связать данные, но, возможно, я делаю это неправильно. Вот сокращенная версия кода в виде

partial class frmDashboardV3 : Form
{
    private BCCPerUserTableAdapter bccPerUserTableAdapter;
    private DataSet3.BCCPerUserDataTable bccDataTable = new trimlineDataSet3.BCCPerUserDataTable();

    private void frmDashboardV3_Load(object sender, EventArgs e)
    {
        bccPerUserTableAdapter = new BCCPerUserTableAdapter();
    }

    private void tabPageBCC_Enter(object sender, EventArgs e)
    {
        bccPerUserTableAdapter.Fill(bccDataTable, new int?(Global.IDEmploye));
        this.bccPerUserBindingSource.DataSource = (object)bccDataTable;
        this.dgvBCC.DataSource = bccPerUserBindingSource;
        this.dgvBCC.Refresh();
    }
}

Есть понимание, что я делаю неправильно? Данные отображаются, но не будут обновляться, если я не переключусь на другую вкладку, а затем вернусь к этой. Это именно тот шаг, который я пытаюсь помешать пользователю сделать.

Кстати, я использую MySQL.

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