Кажется, проще просто сгруппировать эти 2 метода вместе. Он прост, он очевиден, его легко обслуживать, и вам не нужно совершать другие события, чтобы творить чудеса
* ** 1003 тысяча два * Пример
public void RefreshMyAwesomeGrid()
{
using (DatabaseContext db = new DatabaseContext())
{
customersBindingSource.DataSource = db.Customers.ToList();
}
}
...
MyUserControl.BringToFront();
RefreshMyAwesomeGrid();
Обновление
Дело в том, что я не могу получить доступ к таблице данных из моей основной формы, на
моя основная форма у меня есть кнопка, и как только эта кнопка нажата, она приносит
пользовательский элемент управления вперед, поэтому я должен поставить обновление datagridview
действие в пользовательском элементе управления, но я хочу, чтобы вызвать его с главной формой
Действие
Предполагая, что ваша DataGrid находится в вашем userControl ... К сожалению, BringToFront
не может быть переопределен. Однако у вас есть пара вариантов.
Самое простое, просто поместите публичный метод в UserControl
class RefreshMyAwesomeGrid
. при звонке BringToFront
звоните RefreshMyAwesomeGrid
Либо так, либо просто сделайте свой OwnBringToFrontPlusRefresh
<- хотя, кажется, немного меха </p>
Или вы можете использовать развязанные сообщения в зависимости от того, используете ли вы какие-либо фреймворки
Обновление 2
Просто покопайтесь в вашем пользовательском элементе управления
private void btnOverview_Click(object sender, EventArgs e)
{
ccOverview.BringToFront();
txtTitle.Text = "Healthcare - Overview";
ccOverview.RefreshGrid(); // exists now
}