C#(winform) 1个用户控件窗体和1个窗体窗口,单击其他窗体窗口中的按钮后不触发用户控件事件

问题描述 投票:0回答:1

我有 1 个用户控件表单和 1 个常规窗口表单。第一个表单(窗口)触发另一个表单中的事件,我引用它们,当我单击表单1中的按钮时,它会触发用户控件表单中的事件,它会触发并在用户控件中显示一个消息框,但不会触发其他表单那里的活动。我想在插入数据后刷新用户控件表单 1 中的 datagridview,但用户控件 1 中的数据网格不刷新。

从窗口窗体更新用户控件窗体上的 datagridview。

当我回到电脑前时,我会发布代码。

c# datagridview
1个回答
0
投票

尝试使用委托。例如:

public delegate void UpdateValues(List<string> updatedValues);

public class CustomUserControl
{
   public void ShowNewValues(List<string> updatedValues)
   {
      //todo: logic...
   }    
}

public class mainWindow:Window
{
   public static void Main()
   {
      CustomUserControl mControl = new CustomUserControl();
      UpdateValues updateValuesMethod = mControl.ShowNewValues;
      List<string> items = new List<string>(){"test 1", "test 2"};
      updateValuesMethod(items);
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.