我有多个基于表单的应用程序,因为我有一些输入表单,如果在输入表单填写并单击提交按钮,那么我想显示主表单状态中的提交状态 - 条
我这样使用但不能正常工作
Main status = new Main();
status.workStatusStrip.Text = "Submitted Successfully";
示例代码首选..
答案 0 :(得分:3)
这会对你有所帮助
WindowsFormsApplication1
{
public partial class Form1 : Form
{
static Label statusMessageLabel;
public static string StatusText { set { statusMessageLabel.Text = value; } }
public Form1()
{
InitializeComponent();
statusMessageLabel = label1;
// from anywhere ->
Form1.StatusText = "a message";
}
}
}
答案 1 :(得分:2)
您有两个选项,无法从您的问题中选择要选择的选项。
首先:
让你的'数据输入表'派生自一些定义状态变化委托的基类,以及像这样的委托的事件
public delegate void StatusChange(string Status);
public event StatusChange OnStatusChange;
现在,在您的主窗体中,为每个像这样创建的数据输入表单订阅该事件
SomeDataEntry de = new SomeDataEntry();
de.OnStatusChange += StatusChanger;
de.Show(); // or whatever
表单中的
if (OnStatusChange!=null) {
OnStatusChange("status text");
}
并以主要形式执行
void StatusChanger(string Status)
{
status.Text=Status;
}
第二
像Chandan建议做的事情,但请不要使成员静态,而是有一个接口,一个成员,从中派生,将接口传递给数据输入表单,并调用其方法来更新状态文本数据录入表格。