Используйте основной код формы, чтобы открыть UserControl из другого UserControl - PullRequest
0 голосов
/ 05 марта 2019

Я использую UserControl в качестве кнопки внутри FlowLayoutPanel, поскольку она содержит текст и другую информацию.Нажав на UserControl внутри FlowLayoutPanel, он должен отобразить форму в моей главной форме.

Вот пример UserControl:

private void SelectuCControl_MouseClick(object sender, MouseEventArgs e)
{
    Main OP = new Main();
    OP.ucControl.Show();
    OP.ucControl.BringToFront();
}

В Main Форма, модификатор доступа *Для 1007 * (UserControl) установлено значение Public.
Но когда я нажимаю, ничего не происходит, и ЦП и память увеличиваются с каждым щелчком.Что-то происходит в фоновом режиме, но я не вижу этого.

Я также пытался сделать это по-другому.
Вот пример другого способа неудачной попытки.

Основная форма:

public void ShowUC()
{
    ucControl.Show();
    ucControl.BringToFront();
}

и в UserControl:

private void SelectContacts_MouseClick(object sender, MouseEventArgs e)
{
    Main OP = new Main();
    OP.ShowUC();
}

Но все же, то же самое.
Знаете ли вы, как я могу показать UserControl, который скрыт в главной форме, нажав на другой UserControl, который находится в FlowLayoutPanel?

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Я нашел решение.Все, что мне нужно было сделать, это добавить эту команду в свой UserControl, который я использую как кнопку.

        Main OP = (Main)ParentForm;
        OP.ShowUC();
0 голосов
/ 05 марта 2019

Если вы напишите следующий код:

Main x = new Main();
Main y = new Main();

... тогда x и y не совпадают Main - это два отдельных экземпляра Main.

Если вы взаимодействуете или изменяете что-либо в отношении x, это никак не влияет на y.

Если вы хотите, чтобы y был тем же экземпляром, вам нужно что-то сделатькак это:

Main x = new Main();
Main y = x;

В вашем коде вам нужно найти способ сделать что-то вроде этого:

public Main OP;
private void SelectuCControl_MouseClick(object sender, MouseEventArgs e)
{
    OP.ucControl.Show();
    OP.ucControl.BringToFront();
}

Теперь вы можете установить OP для того же экземпляра Main при настройке UserControl.

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