Есть ли способ предотвратить многократное отображение формы в #c? - PullRequest
0 голосов
/ 27 мая 2019

так что у меня есть эта программа, и я хочу, чтобы она не открывалась несколько раз, но может показаться, что она освоилась = /

    private void button1_Click(object sender, EventArgs e)
    {


        if (forge.Checked)
        {
            successfully_injected openForm = new successfully_injected();
            openForm.Show();
            this.Close();
        }
        else if (!forge.Checked)
        {
            select_option openForm = new select_option();
            openForm.Show();
        }

    }

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

Ответы [ 3 ]

0 голосов
/ 27 мая 2019

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

Хороший пример этого можно найти в другом вопросе, похожем на ваш здесь .

0 голосов
/ 27 мая 2019

передать владельцу новое окно

    successfully_injected openForm = new successfully_injected();
        Owner = openForm;
        Hide();
        openForm.Show();

Теперь у нового окна есть владелец, и вы можете просто закрыть его, и оно работает

0 голосов
/ 27 мая 2019

Вы можете проверить коллекцию OpenForms из объекта приложения

if(forge.Checked)
{
   successfully_injected openForm = Application.OpenForms.OfType<successfully_injected>().FirstOrDefault();
   if(openForm == null)
       openForm = new successfully_injected();
   openForm.Show();
}
else
{
   select_option openForm = Application.OpenForms.OfType<select_option>().FirstOrDefault();
   if(openForm == null)
       openForm = new select_option();
   openForm.Show();
}
this.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...