我有一个用户控制的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;
}
答案 0 :(得分:0)
您可以在用户控件内创建一个事件并触发
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)
{
}