C#中怎么把资料打印出来 希望高手指点迷津
解决方案 »
- 根据主表中从表的ID,在主表中显示从表除ID之外的信息
- 小白求助,关于获取鼠标坐标的问题。
- 'axMSComm1.Output' 擲回型別 'System.Runtime.InteropServices.COMException' 的例外狀況
- 在web.config中怎么写XML的连接方法?
- 我想把ZedGraph自带的上下文菜单与工具栏的按钮一一对应,就是通过按钮实现上下文菜单的功能,改怎么做?
- C#能拯救C++吗?
- 请问如何动态设置界面的背景色
- 代码高亮和自动补齐
- 【求助】C#摄像头录像,保存不同大小和格式
- 如何修改列的属性?
- C#如何做加密配置?
- nullreferenceexception未将对象引用设置到对象的实例。
建议如果只是简单的打印要求用第一个javascript:window.print()的方法已经可以满足了~
PrintPreviewDialog pre = new PrintPreviewDialog();
PrintDialog print = new PrintDialog();
PrintDocument doc = new PrintDocument();然后在构造函数中注册打印事件public frmClient()
{
InitializeComponent();
doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
}
打印事件里设置打印画布样式
private void doc_PrintPage(object sender, PrintPageEventArgs e)
{
Font myfont = new Font("宋体",5);//设置字体
//设置打印位置
int x = 30;
int y = 30;
string total = txtTotal.Text.Trim();
string major = comMajor.Text.Trim();
//设置打印内容及打印位置
//string str = "书名 数量 单价";
string strDetail;
//e.Graphics.DrawString(str,myfont,Brushes.Black,x,y);
int dgvcount=dgvBought.Rows.Count-1;
for (int i = 0; i < dgvcount; i++)
{
//y += 10;
strDetail = "书名:" + dgvBought.Rows[i].Cells["bnamed"].Value.ToString();
e.Graphics.DrawString(strDetail, myfont, Brushes.Black, x, y); string strNumber = "册数:" + dgvBought.Rows[i].Cells["number"].Value.ToString();
e.Graphics.DrawString(strNumber, myfont, Brushes.Black, x, y+10); string strPrice="单价:"+dgvBought.Rows[i].Cells["price"].Value.ToString();
e.Graphics.DrawString(strPrice, myfont, Brushes.Black, x, y+20);
y = y + 30;
}
e.Graphics.DrawString("总价格:" + total, myfont, Brushes.Black, x, y + 10);
e.Graphics.DrawString("专业:" + major, myfont, Brushes.Black, x, y + 20);
if (teacher != null)
{
e.Graphics.DrawString(teacher, myfont, Brushes.Black, x, y + 30);
}
}
执行打印 if (print.ShowDialog() == DialogResult.OK)
{
doc.Print();
}
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
<input type=button value="打印OK" onclick=" return myprint(this);">
<input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> WebBrowser一、WebBrowser控件<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>二、WebBrowder控件的方法//打印WebBrowser1.ExecWB(6,1);//打印设置WebBrowser1.ExecWB(8,1);//打印预览WebBrowser1.ExecWB(7,1);三、实现打印的设置,打印数据的生成,打印的预览,和打印。实现打印的设置,打印数据的生成,打印的预览,和打印我一般这样做,假如查询结果在a.asp中,那么在a.asp中放置打印设置、打印预览、打印三个按钮。单击打印设置按钮则在js中执行WebBrowser1.ExecWB(8,1),以打开打印设置窗口。单击打印预览按钮则打开一个b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(7,1),以打开用户预览界面。单击打印按钮则也打开b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(6,1),以自动打印数据。四、代码a.asp调用数据的程序就不给出了。只给出几个按钮的代码:<input type=“button“ name=“mPrint“ value=“打印“ onclick=“exePrint();“><input type=“button“ name=“mPreview“ value=“打印预览“ onclick=“exePreview();“><input type=“button“ name=“mSetting“ value=“打印设置“ onclick=“exeSetting();“>