CS1503 ArguНе удается преобразовать Tes4.GUI.PrintBill.printBill в System.Windows.Forms.Form

У меня есть класс для печати (с именем prinBill.cs)

using Tes4._3_Tier.DTO;
using System.Collections.Generic;

namespace Tes4.GUI.PrintBill
{
    public partial class printBill : DevExpress.XtraReports.UI.XtraReport
    {

        public printBill()
        {

            InitializeComponent();


        }

        public void InitData(int patient_id, int bill_id, string name_pa, string add, string dob, string sym, string treat, string gender, float Sum,List<bill_ItemDTO> data)
        {
            bill_ID.Value = bill_id;
            patienntID.Value = patient_id;
            patientNName.Value = name_pa;
            patientAdd.Value = add;
            patientTreat.Value = treat;
            patienSym.Value = sym;
            patientDOB.Value = dob;
            Total.Value = Sum;
            patientGender.Value = gender;
            objectDataSource1.DataSource = data;

        }

    }
}

Я не знаю, что именно произошло с моим кодом после его перестройки (мой последний запуск был хорошим). Вот код, в котором я получил ошибку в моем printBill.Designer.cs (аргумент это)

this.components = new System.ComponentModel.Container();
this.InitializeComponent();
DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager(this, null, true, true);

Я гуглил в какой-то теме, но это мне совсем не помогло. Я очень ценю вашу помощь.

XtraReport не наследуется от System.Windows.Form, поэтому любые экземпляры, наследующие от XtraReport, не могут быть приведены к System.Windows.Form (точно так же, как если бы я попросил вас использовать морковку в качестве кредитной карты, никто бы ее не принял).
DiplomacyNotWar 12.06.2019 05:06
связь, я только что прошел этот урок. Моя последняя отладка была действительно хорошей, но в следующий раз она выдала ошибку. Мне очень жаль, что я прошу вас решения.
Lắc Lê 12.06.2019 05:28

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

DiplomacyNotWar 12.06.2019 05:41

@ LắcLê, пожалуйста, постарайтесь понять комментарии Джона, вы пытаетесь унаследовать XtraReport от Windows Form. Существует множество примеров веб-сайта DevExpress для Xtraprint. Пожалуйста, проверьте исполняемый файл демонстрационного центра DevExpress на вашем компьютере, который установлен вместе с вашей установкой devexpress. Если нет, установите соответствующую версию в вашей системе и попробуйте.

Mdyahiya 12.06.2019 05:43

Я понял точку зрения Джона. @John, код printBill.designer генерируется автоматически.

Lắc Lê 12.06.2019 05:47

Было бы здорово, если бы вы могли предоставить минимальный воспроизводимый пример.

mjwills 12.06.2019 05:50

Но где вы нашли код, который используете? Я могу только предположить, что вы сделали что-то не так, как в своем учебнике.

DiplomacyNotWar 12.06.2019 06:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
7
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Удалите эту строку из файла конструктора:

DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager(this, null, true, true);

Используемая вами перегрузка конструктора SplashScreenManager ожидает тип Form для первого параметра. Класс XtraReport не является производным от Form, поэтому "это" (XtraReport) использовать нельзя:

SplashScreenManager(Form parentForm, Type splashFormType, bool useFadeIn, bool useFadeOut)

Источник

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

Вы спасли меня! Большое спасибо @Brendon

Lắc Lê 20.06.2019 11:44

Другие вопросы по теме