Отображение статуса в основной форме из другой формы - PullRequest
1 голос
/ 09 июля 2011

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

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

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

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

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Эта строка:

Main status = new Main();

Создает новую Main форму, а не исходную форму (и вы не видите ее, поскольку не Show() ее).

Вам нужна ссылка на исходную форму Main, прежде чем вы сможете установить свойства для нее, хотя это приведет к связыванию между вашими различными формами (не очень хорошая вещь).

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

0 голосов
/ 09 июля 2011

Старые добрые статические глобалы (помните vb?)

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

}

...