proff001 Ответов: 2

Ошибка CS0266 не может неявно преобразовать тип "system.windows.forms.progressbarstyle" в "metroframework.metrocolorstyle". Существует явное преобразование (вы пропускаете приведение? )


Итак, я создаю программу с использованием MetroFrameworks forms и Progressbar, и мне нужно переключить стиль с Continues на Marquee после запуска некоторого кода и (progressBar = ProgressBarStyle.Шатер) оленья кожа работа


private void WebClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                this.DialogResult = DialogResult.No;
                this.Close();
            }
            else if (e.Cancelled)
            {
                this.DialogResult = DialogResult.Abort;
                this.Close();
            }
            else
            {
                lblProgress.Text = "Verifying Download...";
    ------->    progressBar.Style =  ProgressBarStyle.Marquee;    <---------

                bgWorker.RunWorkerAsync(new string[] { this.tempFile, this.md5 });
            }


Что я уже пробовал:

progressBar.Style = ProgressBarStyle.Marquee;

Graeme_Grant

Сообщение об ошибке очень специфично. Квадратный колышек в круглое отверстие не влезешь.

Посмотрите на объявление стиля каждого из них, и вы увидите, что TargetType не является одним и тем же.

Кроме того, это приложение WinForm или WPF?

proff001

Я понимаю это, но не знаю, что использовать вместо этого.

Graeme_Grant

Мы не можем видеть ваш код отсюда, поэтому без кода мы не можем комментировать.

Что такое ProgressBarStyle.Marquee?

Я снова спрашиваю, Это приложение WinForm или WPF?

Нажмите на виджет" улучшить вопрос " и предоставьте относительный исходный код, если вы хотите, чтобы кто-то сделал информированный ответ.

proff001

WinForm

Graeme_Grant

Опять же, что такое ProgressBarStyle.Marquee?

proff001

Кусочек кода, который изменяет обычный progressbar из любого другого стиля (в данном случае продолжается) на Marquee

Graeme_Grant

И что это за кусок кода? Пожалуйста, обновите свой вопрос.

Alan N

Решение этой задачи требует знания типа переменной progressBar. Я не знаю, что это такое, но я знаю, что это не система.Окна.Формы.Прогрессбар. Основываясь на сообщении об ошибке, я бы предположил, что это прогрессбар "метро". Я никогда этим не пользовался, но всегда начинал с чтения соответствующей документации.

2 Ответов

Рейтинг:
0

Kornfeld Eliyahu Peter

Цитата:
Ошибка CS0266 не может неявно преобразовать тип "system.windows.forms.progressbarstyle" в "metroframework.metrocolorstyle". Существует явное преобразование (вы пропускаете приведение? )
Первый шаг
Читать документацию: Ошибка компилятора CS0266 | Microsoft Docs[^]
Второй шаг
Узнайте больше о приведении типов (явных и неявных)...
Наконец-то
Применяйте свои знания!


proff001

Мне просто нужно знать, что переключить ProgressBarStyle.Шатер к версии metroframework

Рейтинг:
0

Richard Deeming

То Стиль[^] свойство - это MetroColorStyle[^] ценность, нет один ProgressBarStyle ценность.

Вы ищете ProgressBarStyle[^] собственность:

progressBar.ProgressBarStyle = ProgressBarStyle.Marquee;