سلام ،
شما میتونین یه فرم مجزا ایجاد کنین و یک شی Microsoft.Reporting.WinForms.ReportViewer رو قرار بدید روی فرمتون ،
بعد از این مرحله میتونین فایل گزارشتون (.rdlc) رو بهش معرفی کنین ، البته من ترجیح میدم اینکار داینامیک صورت بگیره ، یعنی زمان لود شدن فرم هر فایلی گزارشی رو که خواستم برای نمایش بهش معرفی کنیم ، دقت کنین که این فایل گزارش میتونه به صورت یک فایل مستقل توی سیستم باشه و یا یک Embedded Resource که در پروژه شما.
این کد در Constructor فرمتون میشینه و دقت کنین اگر Embedded Resource هست باید نام و مسیرش رو کامل معرفی کنین ، برای اطلاعات بیشتر در خصوص Reflection ها مطالعه کنین و اگر Embedded Resource نیست میتونین با خصوصیت ReportPath آدرس فایل .rdlc رو برای نمایش بهش بدین
ReportViewer1.LocalReport.ReportEmbeddedResource = "IRLPR_WinApp_Reporter.RDLC.rptDetectionReport.rdl c";
ReportViewer1.LocalReport.DisplayName = $"گزارش تست";
و این کد در رویداد Load() فرمتون میشینه :
ReportViewer1.RefreshReport();
و حالا کافیه با زدن دکمه چاپ شما فرمتون رو Show یا ShowDialog کنین ، ریپورت خودش لود میشه و گزارش هم نمایش داده میشه.