У меня был этот вопрос в течение всего времени, я нашел ответ после долгой связи, и основным источником знаний, который я использовал, была эта webpega: Я хотел бы поблагодарить всех вас, ребята, добавив код, который позволил мне это сделать картинка с результатом.
Вместо использования класса ReportViewer вам нужно создать новый класс, в моем случае я назвал его ReportViewerPlus, и он выглядит следующим образом:
using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace X
{
class ReportViewerPlus : ReportViewer
{
private Button boton { get; set; }
public ReportViewerPlus(Button but) {
this.boton = but;
testc(this.Controls[0]);
}
public ReportViewerPlus()
{
}
private void testc(Control item){
if(item is ToolStrip)
{
ToolStripItemCollection tsic = ((ToolStrip)item).Items;
tsic.Insert(0, new ToolStripControlHost(boton));
return;
}
for (int i = 0; i < item.Controls.Count; i++)
{
testc(item.Controls[i]);
}
}
}
}
Вы должны добавить кнопку прямо в конструкторе класса, и вы можете настроить кнопку в своем конструкторе.
Вот картинка с результатом, не идеальным, но достаточным для того, чтобы пойти (безопасная ссылка, клянусь, но я не могу публиковать свои фото, у меня недостаточно репутации).
http://prntscr.com/5lfssj
Если вы внимательно посмотрите на код класса, вы более или менее увидите, как он работает, и вы сможете внести свои изменения и сделать возможным установить его на другом сайте панели инструментов.
Большое спасибо за помощь в прошлом, надеюсь, это поможет многим людям!