哪位兄弟把MSDN中的这个程序改一下,能打印出东西马上给分!不够再加!!
--------------------------------------------
private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red,
new Rectangle(500, 500, 500, 500));
}
--------------------------------------------
这是一个打印矩形的程序,现在要求把“e.Graphics.FillRectangle(Brushes.Red,
new Rectangle(500, 500, 500, 500));”封装成一个方法,然后在这里调用,比如:
--------------------------------------------
方法method()是画图的,可以画出一个矩形,在private void printDocument1_PrintPage中怎么调用才能打印出一个矩形呢?
(现在我就遇到一个这样的问题,封装好的一个画图的方法,不知道在打印的时候该怎么调用~)
折磨我好久的问题了,请大家帮帮忙~~,谢谢了~~
--------------------------------------------
private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red,
new Rectangle(500, 500, 500, 500));
}
--------------------------------------------
这是一个打印矩形的程序,现在要求把“e.Graphics.FillRectangle(Brushes.Red,
new Rectangle(500, 500, 500, 500));”封装成一个方法,然后在这里调用,比如:
--------------------------------------------
方法method()是画图的,可以画出一个矩形,在private void printDocument1_PrintPage中怎么调用才能打印出一个矩形呢?
(现在我就遇到一个这样的问题,封装好的一个画图的方法,不知道在打印的时候该怎么调用~)
折磨我好久的问题了,请大家帮帮忙~~,谢谢了~~
{
dc.FillRectangle(Brushes.Red, r);
}private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
DrawMyRectangle(e.Graphics,new Rectangle(500, 500, 500, 500));
}
下面这个方法是用来画图的,其中调用了一些控件(此控件也是自定义的)的参数用来生成表格,请问在打印的方法中该如何调用此方法呢?十分感谢~~
--------------------------------------
private void setup_table_control(Graphics g)
{
#region 设置控件属性
int table_x = 120;
int table_y = 150;
int cell_height = 30;
string cell_width = "150,150,,,,";
table_receive.cell_height = 30;
string s = "品 牌,型 号,颜 色,单价(元),数量(台),金额(元)"; // 设置2个变量来显示文本的位置,其他的文本都以此变量为基数进行增减
int str_x = 120;
int str_y = 80;
// 绘制title
table_receive.make_string("入库单",400,40,18,1,g); // 绘制表格之外的一些信息
// 入库单号
table_receive.make_string("入库单号:",str_x,str_y,10,0,g);
table_receive.make_line(str_x + 65,str_y + 15,str_x + 165,str_y + 15,g);
table_receive.make_string(this.bill_num,str_x + 65,str_y,10,0,g); // 设置具体数据
// 入库单号完毕
// 供应商
table_receive.make_string("供 应 商:",str_x,str_y + 40,10,0,g);
table_receive.make_line(str_x + 65,str_y + 55,str_x + 165,str_y + 55,g);
table_receive.make_string(this.suppliers,str_x + 65,str_y + 40,10,0,g); // 设置具体数据
// 供应商完毕 // 入库日期
table_receive.make_string("入库日期:",str_x + 230,str_y + 40,10,0,g);
table_receive.make_line(str_x + 295,str_y + 55,str_x + 415,str_y + 55,g);
table_receive.make_string(this.date,str_x + 295,str_y + 40,10,0,g); // 设置具体数据
// 入库日期绘制完毕
// 入库类型
table_receive.make_string("入库类型:",str_x + 470,str_y,10,0,g);
table_receive.make_line(str_x + 535,str_y + 15,str_x + 635,str_y + 15,g);
table_receive.make_string(this.receive_type,str_x + 535,str_y,10,0,g); // 设置具体数据
// 入库类型绘制完毕 // 绘制库房
table_receive.make_string("库 房:",str_x + 470,str_y + 40,10,0,g);
table_receive.make_line(str_x + 535,str_y + 55,str_x + 635,str_y + 55,g);
table_receive.make_string(this.depots,str_x + 535,str_y + 40,10,0,g); // 设置具体数据
// 绘制库房完毕 // 绘制第一行
table_receive.make_row(table_x,table_y,cell_width,s,g);
// 绘制许多行
table_receive.make_row(table_x,table_y + cell_height,cell_width,this.brands + "," + this.models + "," + this.color + "," + this.unit_price + "," + this.receive_num + ",",g);
int i;
for(i = 0;i < 3; i++)
{
table_receive.make_row(table_x,table_y + (i + 2) * cell_height,cell_width,",,,,,",g);
} // 绘制合计的一行
table_receive.make_row(table_x,table_y + ( i + 1) * cell_height,cell_width,"合 计:,,,," + this.receive_num + ",",g);
// 合计一行绘制完毕 // 绘制其他信息
int h = str_y + table_y + i * cell_height;
// 制单
table_receive.make_string("制 单:",str_x,h,10,0,g);
table_receive.make_line(str_x + 65,h + 15,str_x + 165,h + 15,g);
table_receive.make_string(this.operators,str_x + 65,h,10,0,g); // 设置具体数据
// 制单完毕 // 库管员
table_receive.make_string("库 管 员:",str_x + 470,h,10,0,g);
table_receive.make_line(str_x + 535,h + 15,str_x + 635,h + 15,g);
// 库管员完毕 // 备注
table_receive.make_string("备 注:",str_x,h + 40,10,0,g);
// 备注完毕 #endregion
}
--------------------------------------------------------------
代码有点长,让各位费眼了~~~
private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
setup_table_control(e.Graphics);
}
我也是这么调用的,但是为什么就不能打印出表格呢?
而我调用2楼兄弟的方法,就能打印出一个矩形~~~,为什么呢?
感谢你的恢复~~
string str = "123";
int i=1;
i = i + Convert.ToInt32(str);
MessageBox.Show(i.ToString());
System.Drawing.Printing.PrintPageEventArgs e作为method的参数不行]吗