Не удается неявно преобразовать тип 'System.Windows.Forms.Form' в 'bool' - PullRequest
0 голосов
/ 18 мая 2019

Я помещаю DiscordRPC в свое приложение.Я удостоверяюсь, что Окно активно, чтобы оно могло легко измениться и фактически изменить статус.Проблема в том, что при использовании ActiveForm он не работает, потому что не может преобразовать его в «bool».Вот мой код.

private void active()
        {
            Form currentForm = Form.ActiveForm;

            if(Form.ActiveForm)
            {
                ptr2tools.Presence = new RichPresence()
                {
                    State = "Using pwf2tex",
                    Assets = new Assets()
                    {
                        LargeImageKey = "pwf2tex",
                        LargeImageText = "pwf2tex"
                    }
                };
                ptr2tools.DiscordClient.SetPresence(ptr2tools.Presence);
            }
        }

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Form.ActiveForm сохраняет текущую активную форму, или ноль, если нет активной формы.

 var currentForm = Form.ActiveForm;

 if(currentForm != null)
 {
     //logic
 }
0 голосов
/ 18 мая 2019

В вашем коде изменить:

if(Form.ActiveForm)

до

if (currentForm != null)

это должно вам помочь. Обратите внимание, что Form.ActiveForm возвращает текущую активную форму или ноль, если активной формы нет, поэтому вы не можете проверить ее в своем выражении if таким образом. Вы можете проверить, не является ли он нулевым (и даже сделать это без создания какого-либо объекта формы):

if (Form.ActiveForm != null) //it do same
...