gpt4 book ai didi

C# 用户控件 - 如何告诉包含对象控件需要数据

转载 作者:太空狗 更新时间:2023-10-30 00:57:45 27 4
gpt4 key购买 nike

我正在创建一个 C# WinForms 用户控件。有时用户控件需要来自它所包含的表单的数据。我该如何让用户控件告诉包含它的表单它需要一些数据?

谢谢!

最佳答案

您可以为表单订阅在 UserControl 上引发的事件。

您的架构决定了您需要在何时何地订阅数据事件。我们无法在不进一步了解您是如何在运行时或设计时添加控件的情况下回答这个问题。每个案例都需要一点推导。从在运行时添加控件的角度来看,您可以执行类似于以下操作的操作:

// Your sample control
public class MyUserControl : Control
{
public event EventHandler<EventArgs> INeedData;
public Data Data {get; set;}

private class DoSomething()
{
if(INeedData!=null) INeedData(this,null);
}
}

...

// Your Form, in the case that the control isn't already added.
var _myUserControl = new MyUserControl();
private void Form1_Load(object sender, EventArgs e)
{
_myUserControl.INeedData += new EventHandler<EventArgs>(MyUserControl_INeedData);
this.Controls.Add(myUserControl);
}

void MyUserControl_INeedData(object sender, EventArgs e)
{
_myUserControl.Data = SomeData;
}

关于C# 用户控件 - 如何告诉包含对象控件需要数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4462133/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com