статусное сообщение в главной форме - PullRequest
1 голос
/ 13 июля 2011

У меня есть несколько приложений, основанных на формах, у меня есть несколько форм ввода, если в заполненной форме ввода и нажатии кнопки отправки я хочу отобразить статус отправки в основной строке состояния формы

Я использовал, как это, но не работает

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

Пример кода предпочтителен.

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

это вам поможет

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

}
2 голосов
/ 13 июля 2011

У вас есть два варианта, и какой вариант выбрать нельзя сказать из вашего вопроса.

Первый:

Пусть ваша «форма ввода данных» происходит от некоторого базового класса, который определяетделегат для изменения статуса и события для этого делегата, подобного этому

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

Теперь в вашей главной форме подпишитесь на это событие для каждой формы ввода данных, созданной как эта

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

в форме do

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

и в основной форме выполните

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

Секунда:

Сделайте что-нибудь, как предложил Чандан, но, пожалуйста, не делайте член статичным, вместо этого имейтеИнтерфейс, с одним членом, производным от него, передает интерфейс в форму ввода данных и вызывает его метод для обновления текста статуса из формы ввода данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...