写完以下代码点按钮没反应 是为什么?大神帮啊
private void simpleButton1_Click(object sender, EventArgs e)
{
PrintableComponentLink link = new PrintableComponentLink(new PrintingSystem());
link.Component = Dgv;
link.Landscape = true;
link.PaperKind = System.Drawing.Printing.PaperKind.A3;
link.CreateMarginalHeaderArea += new CreateAreaEventHandler(Link_CreateMarginalHeaderArea);
link.CreateDocument();
link.ShowPreview();
}
private void Link_CreateMarginalHeaderArea(object sender, CreateAreaEventArgs e)
{
string title = string.Format("压力灭菌监测记录");
PageInfoBrick brick = e.Graph.DrawPageInfo(PageInfo.None, title, Color.Black,
new RectangleF(0, 0, 100, 21), BorderSide.None);
brick.LineAlignment = BrickAlignment.Center;
brick.Alignment = BrickAlignment.Center;
brick.AutoWidth = true;
brick.Font = new System.Drawing.Font("宋体", 11f, FontStyle.Bold);
}
直接在开头写一个 MessageBox.Show("ok")
如果不能弹框,说明事件没有触发或者没有关联正确
我使用的是PrintSettingController控件,你参考下
PrintSettingController psc = new PrintSettingController(gridControl);
//页眉
psc.CreateMarginalHeaderArea += psc_CreateMarginalHeaderArea;
psc.CreateMarginalFooterArea += psc_CreateMarginalFooterArea;
psc.Margins = new Margins(5, 5, 80, 40);
//页脚
if (!string.IsNullOrWhiteSpace(_nursingTable.Footer))
{
string footer = _nursingTable.Footer.Replace("\n", "\r\n");
psc.PrintFooter = footer;
}
//纸型
if (_nursingTable.PaperKind == "A4")
psc.PaperKind = System.Drawing.Printing.PaperKind.A4;
else if (_nursingTable.PaperKind == "A3")
psc.PaperKind = System.Drawing.Printing.PaperKind.A3;
else
psc.PaperKind = System.Drawing.Printing.PaperKind.A4;
//横纵向
if (_nursingTable.Landscape == (int)CommonEnum.是否状态.是)
psc.LandScape = true;
else
psc.LandScape = false;
psc.Preview();
void psc_CreateMarginalFooterArea(object sender, CreateAreaEventArgs e)
{
PageInfoBrick brick = e.Graph.DrawPageInfo(PageInfo.NumberOfTotal, "第{0}页,共{1}页", Color.Black,
new RectangleF(0, 0, 100, 21), BorderSide.None);
brick.LineAlignment = BrickAlignment.Far;
brick.Alignment = BrickAlignment.Far;
brick.AutoWidth = true;
brick.Font = new System.Drawing.Font("宋体", 9);
}
void psc_CreateMarginalHeaderArea(object sender, DevExpress.XtraPrinting.CreateAreaEventArgs e)
{
string title = _nursingTable.TableName;
if (_drawStringHeader == null)
{
_drawStringHeader = new NursingDrawStringHeader();
_drawStringHeader.Text = " 科别:" + _inPatientInfo.DeptName + " 床号:" + _inPatientInfo.BedNo + " 姓名:" + _inPatientInfo.PatientName + " 住院号:" + _inPatientInfo.InpatientNo;
_drawStringHeader.PageInfoBrickRectangleF = new RectangleF(0, 0, 100, 21);
_drawStringHeader.TextBrickRectangleF = new RectangleF(10, 40, e.Graph.ClientPageSize.Width, 30);
}
PageInfoBrick brick = e.Graph.DrawPageInfo(PageInfo.None, title, Color.Black,
_drawStringHeader.PageInfoBrickRectangleF, BorderSide.None);
brick.LineAlignment = BrickAlignment.Center;
brick.Alignment = BrickAlignment.Center;
brick.AutoWidth = true;
brick.Font = new System.Drawing.Font("黑体", 14);
Font textFont = new System.Drawing.Font("宋体", 10);
TextBrick textBrick = e.Graph.DrawString(_drawStringHeader.Text, Color.Black, _drawStringHeader.TextBrickRectangleF, BorderSide.None);
textBrick.Font = textFont;
BrickStringFormat sf = new BrickStringFormat(StringAlignment.Near);
textBrick.StringFormat = sf;
}