Как я могу вызвать функцию из формы с помощью моего UserControl в C #? - PullRequest
0 голосов
/ 25 марта 2019

В форме у меня есть несколько кнопок (RadioButton), каждая из которых вызывает разные UserControl .Таким образом, они добавляются динамически в форму следующим образом:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    public void Something()
    {
         // Do something in the Form
         // Etc etc
    }

    private void Rb1_CheckedChanged(object sender, EventArgs e)
    {
        if (!PnContent.Controls.Contains(Uc1.Instance))
        {
            PnContent.Controls.Add(Uc1.Instance);
            Uc1.Instance.Dock = DockStyle.Fill;
            Uc1.Instance.BringToFront();
        }
        else
        {
            Uc1.Instance.BringToFront();
        }
    }

    private void Rb2_CheckedChanged(object sender, EventArgs e)
    {
        if (!PnContent.Controls.Contains(Uc2.Instance))
        {
            PnContent.Controls.Add(Uc2.Instance);
            Uc2.Instance.Dock = DockStyle.Fill;
            Uc2.Instance.BringToFront();
        }
        else
        {
            Uc2.Instance.BringToFront();
        }
    }
}

(Примечание: «PnContent» - это просто панель в форме)

Теперь в UserControl (Uc1) У меня есть это:

public partial class Uc1 : UserControl
{
    public Uc1()
    {
        InitializeComponent();
    }

    private static Uc1 _instance;

    public static Uc1 Instance
    {
        get
        {
            if (_instance == null)
            {
                _instance = new Uc1();
            }
            return _instance;
        }
    }

    // Etc etc

    private void Btn1_Click(object sender, EventArgs e)
    {
        // Do something in UserControl
        // Etc etc
    }

}

И есть проблема.Мне нужно вызвать публичный void Something () из Form , когда Btn1_Click из Usercontrol запущен.

Это сводка моего кода.

Фактическое действие Btn1 в UserControl - сохранить в БД запись.Затем после этого действия необходимо перезагрузить список записей.Но Datagrid используется для Form1 , а также для метода Something () , который загружает все данные

Любые советы, чтобы решить эту проблему с помощью этогота же идея?

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