gpt4 book ai didi

C# - 如何在用户控件之间传递信息

转载 作者:行者123 更新时间:2023-11-30 21:00:58 25 4
gpt4 key购买 nike

我正在做一个应用程序,用户在文本框中输入一个值,然后按下一个按钮,两者都在同一个用户控件中。然后文本框的结果将显示在其他用户控件的标签上。两个用户控件都在同一个窗口窗体中。

谢谢!

Image of user interface

enter image description here

最佳答案

最常见的方法是使用事件。我会这样做:

首先定义一个EventArgs:

public class MyEventArgs : EventArgs
{
public string Text { get; private set; }

public MyEventArgs(string Text)
{
this.Text = Text;
}
}

然后在您的用户控件(带有按钮的那个)中:

public partial class MyUserControl
{
public event EventHandler<MyEventArgs> ButtonClicked;

public MyUserControl()
{
//...

button1.Click += (o, e) => OnButtonClicked(new MyEventArgs(textBox1.Text));
}

protected virtual void OnButtonClicked(MyEventArgs args)
{
var hand = ButtonClicked;
if(hand != null) ButtonClicked(this, args);
}
}

然后在表单中订阅您的 MyUserControl.ButtonClicked 事件并调用第二个控件中的方法。


请注意,如果按钮的行为和文本框中的文本实际上相关,您可以使用一个属性来获取输入的文本和一个空的EventArgs您的事件。

附言名称 MyEventArgsMyUserControlButtonClicked 仅用于演示目的。我鼓励您在代码中使用更具描述性/相关性的命名。

关于C# - 如何在用户控件之间传递信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544702/

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