Собираем все клики из всех форм на единую этикетку - PullRequest
0 голосов
/ 14 июля 2020

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

В настоящее время он работает только внутри из следующего кода:

public partial class MasterTemplates : UserControl
{
    public int count { get; private set; }
   

    public MasterTemplates()
    {
        InitializeComponent();
      
    }
private void btnGetIt2_Click(object sender, EventArgs e)
{
    if (textBox2.Text.Trim().Length > 0)
    {
        Clipboard.SetText(textBox2.Text.Trim());

        textBox2.Clear();

        Tulpep.NotificationWindow.PopupNotifier popup = new Tulpep.NotificationWindow.PopupNotifier();
        popup.Image = Properties.Resources.file;
        popup.TitleText = "Clipboard Nofification!";
        popup.ContentText = "Copied to Clipboard";
        popup.Popup();

        count++;
        ClickCount.Text = count.ToString();
    }
}

-> I Здесь есть несколько кнопок, и я хочу передать счет на метку, расположенную внутри формы «MasterTemplates»

 public partial class NewTemplate : Form
{
    public object Now { get; private set; }
    public object dateTimePicker1 { get; private set; }
    

    public NewTemplate()
    {
        InitializeComponent();
    }

    private void NextActionEmpty_Click(object sender, EventArgs e)
    {
        Clipboard.SetText("Current issue stopping fault progression: Monitoring for 1 hour" +

      "\nNext action: Check this site again at: 00:00 ");
        Tulpep.NotificationWindow.PopupNotifier popup = new Tulpep.NotificationWindow.PopupNotifier();
        popup.Image = Properties.Resources.file;
        popup.TitleText = "Clipboard Nofification!";
        popup.ContentText = "Copied to Clipboard";
        popup.Popup();
    }

Метка строгий текст

В основном мне нужен этот номер увеличивать каждый раз, когда я нажимаю кнопку, независимо от того, в какой форме (окне) я нахожусь. Я хочу, чтобы метка увеличивала счет, не влияя на навигацию, допустим, я трачу 1 час, нажимая кнопки в форме, и если я хочу проверить счет, мне нужно перейти к форме, где находится метка счетчика.

1 Ответ

0 голосов
/ 14 июля 2020

Вы хотите изменить текст метки при нажатии кнопки в других формах?

Если да, вы можете определить свойство в «основной форме» для доступа к label, например:

public Label LBcount 
{
    get { return lbCount; }
    set { lbCount = value; }
}

Затем получите экземпляр этой метки в другой форме через свойство Application.OpenForms .

private void btninAnotherForm_Click(object sender, EventArgs e)
{
    MainForm mainform = (MainForm)Application.OpenForms["MainForm"];
    int count = Convert.ToInt32(mainform.LBcount.Text);
    mainform.LBcount.Text = (++count).ToString();
}
...