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

时间:2018-08-08 16:22:32

标签: c# .net winforms reportviewer toolstrip

相对较新的WinForms中使用C#的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;

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

  

非静态字段,方法或属性“ Control.Visible”需要对象引用

关于如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:2)

使用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;

屏幕截图

enter image description here