我有一个Windows窗体(MainForm1),其中包含一个带有标签的ToolStrip(StatusLabel)。 MainForm1还包含一个用户控件(UserControl1)。用户控件包含一个按钮(Button1)。单击Button1时,它初始化DataGridView,但这并不重要。
在UserControl1中单击Button1时,我想在MainForms StatusLabel中显示文本。
但我不知道如何从一个UserControl到MainForm。
流程图描述了我希望它如何运作。
答案 0 :(得分:0)
您可以在User Control
public event EventHandler<string> MessageHasSent;
public void SendMessage(string message)
{
EventHandler<string> ms = MessageHasSent;
if (ms!= null)
{
ms(this,message);
}
}
并且在你班级的每个地方都要举起这个活动。在你的情况下,你想通过点击按钮发送信息
public Button1_Click( object sender,EventArgs e)
{
SendMessage("YourMessage");
}
并像其他事件一样使用它。在您的MainForm中使用UserControl的此事件。
public class MainForm:Form
{
public MainForm()
{
UserControl1.MessageHasSent +=SetToolStripLabel;
}
public SetToolStripLabel( object sender,string e)
{
//Set e to Label
}
}