将 ReportViewer 中的工具栏移动到页面底部

Moving the toolbar in ReportViewer to the bottom of the page

使用 C# 的 WinForms 中的 ReportViewer 相对较新。我想要做的是将报告的工具栏移动到底部。实现这一目标的一种方法据说只是在页面上放置一个工具条并从工具栏构建它。看起来比较简单,只需在 Load 事件中插入几行代码:

// move the toolbar from the report viewer to the toolstripcontainer
ToolStrip toolStrip = (ToolStrip)FirstTestReport.Controls.Find("toolStrip1", true)[0];
toolStrip.GripStyle = ToolStripGripStyle.Hidden;
this.toolStripContainer1.TopToolStripPanel.Controls.Add(toolStrip);
this.FirstTestReport.ShowToolBar = false;
this.toolStripContainer1.Visible = true;

有点奏效了。因此,顶部的工具栏消失了,但底部的工具栏从未出现过。在逐步执行代码时,我意识到 ToolStrip 的 Visible 值始终为 False。我试图添加一行使其可见 (ToolStrip.Visible = True) 但它没有 运行 代码;它给了我一个错误:

An object reference is required for the non-static field, method or property 'Control.Visible'

关于如何解决这个问题有什么想法吗?

使用 ToolStripContainer

此外,如果您希望将其添加到工具条容器的底部面板:

var toolStrip = (ToolStrip)reportViewer1.Controls.Find("toolStrip1", true)[0];
toolStrip.GripStyle = ToolStripGripStyle.Visible;
var reportToolbar = toolStrip.Parent;
reportToolbar.Visible = false;
this.toolStripContainer1.BottomToolStripPanel.Controls.Add(toolStrip);

没有 ToolStripContainer

var toolStrip = (ToolStrip)reportViewer1.Controls.Find("toolStrip1", true)[0];
toolStip.Parent.Dock = DockStyle.Bottom;

截图