主表单上的状态信息

本文关键字:状态 信息 表单 | 更新日期: 2023-09-27 18:01:49

我有多个基于表单的应用程序其中我有一些输入表单,如果在输入表单中填写并单击提交按钮那么我想在主表单状态栏中显示提交状态

我曾经这样用过,但是没有用

Main status = new Main();
status.workStatusStrip.Text = "Submitted Successfully";

主表单上的状态信息

这将帮助你

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";
        }
    }
}

你有两个选项,而你的问题并不能说明你选择了哪个选项。

:

让你的"数据输入表单"派生自一些基类,这些基类定义了用于状态更改的委托和该委托的事件,就像这样

public delegate void StatusChange(string Status);
public event StatusChange OnStatusChange;

现在,在主表单中为每个像这样创建的数据输入表单订阅该事件

SomeDataEntry de = new SomeDataEntry();
de.OnStatusChange += StatusChanger;
de.Show(); //  or whatever

in form do

if (OnStatusChange!=null) {
    OnStatusChange("status text");
}

和主要形式do

void StatusChanger(string Status)
{
    status.Text=Status;
}
第二:

像Chandan建议的那样做,但请不要使成员静态,而是有一个接口,有一个成员,从它派生,将接口传递给数据输入表单,并调用它的方法来更新数据输入表单的状态文本。