C#中如何实现打印listbox中的内容 有个打印按钮,点击打印,怎么样将listbox中的内容打印出来,是否能给个例子程序? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 保关心字符串信息,还是连ListBox的样式也打印出来? 如下代码在打印机上显示一个ListBox及内容:private void button2_Click(object sender, EventArgs e){ PrintPreviewDialog pd = new PrintPreviewDialog(); pd.Document = new PrintDocument(); pd.Document.PrintPage += new PrintPageEventHandler(Document_PrintPage); pd.Document.QueryPageSettings += new QueryPageSettingsEventHandler(Document_QueryPageSettings); pd.Document.BeginPrint += new PrintEventHandler(Document_BeginPrint); if (pd.ShowDialog(this) == DialogResult.OK) { }}void Document_QueryPageSettings(object sender, QueryPageSettingsEventArgs e){ e.PageSettings.Landscape = true; int index = -1; for (int i=0;i<e.PageSettings.PrinterSettings.PaperSizes.Count;i++) { if (e.PageSettings.PrinterSettings.PaperSizes[i].PaperName== "A4") { index=i; break; } } if (index != -1) { e.PageSettings.PaperSize = e.PageSettings.PrinterSettings.PaperSizes[index]; }}void Document_BeginPrint(object sender, PrintEventArgs e){}void Document_PrintPage(object sender, PrintPageEventArgs e){ using (Bitmap bit = new Bitmap(this.listBox.Width, this.listBox.Height)) { this.listBox.DrawToBitmap(bit, this.listBox.ClientRectangle); e.Graphics.DrawImage(bit, new Point(0, 0)); }} 我的Listbox的内容是这样的=============客户A信息=========== 姓名:甲 性别: 男 ...=============客户B信息=========== 姓名:甲 性别: 男 ...页面上有个按钮点击按钮就打印出来就可以了打印出来的内容差不多和listview一行对一行就行 由于listbox的内容比较多,有滚动条,我主要想打印的是里面的内容 protected void printDocument_PrintPage(Object sender, PrintPageEventArgs e) { private float y=1; private float x=1; Font btfont = new Font("黑体", 10); SizeF size = e.Graphics.MeasureString("样", btfont); for (int i = 0; i < listBox1.Items.Count; i++) { e.Graphics.DrawString("=============客户A信息=========== ", btfont, Brushes.Black, x,y) y += size.Height; e.Graphics.DrawString(listBox1.Items[i].ToString(), btfont, Brushes.Black, x,y) } }自已调整x,y的值 试一下: protected void printDocument_PrintPage(Object sender, PrintPageEventArgs e) { private float y=1; private float x=1; Font btfont = new Font("黑体", 10); SizeF size = e.Graphics.MeasureString("样", btfont); for (int i = 0; i < listBox1.Items.Count; i++) { e.Graphics.DrawString("=============客户A信息=========== ", btfont, Brushes.Black, x,y) y += size.Height; e.Graphics.DrawString(listBox1.Items[i].ToString(), btfont, Brushes.Black, x,y) } } 谁能讲解一下C# 泛型List<T>中的 Join方法 C#限制进程使用资源 自定义控件的KeyDown事件 求大家帮忙 你们遇到过么??????中英文系统的界面显示差异如何解决?? 怎么让控件和窗体大小一起作协调变化??? 类的实例化问题,顶者有分 如何防止我手写的代码被可视化编辑器自动更改? C#的winform多国语言方案 C#有钱途吗? C# 调用Delphi制作的DLL问题,请高手帮下忙~ 再求数据显示问题--高分求
private void button2_Click(object sender, EventArgs e)
{
PrintPreviewDialog pd = new PrintPreviewDialog();
pd.Document = new PrintDocument();
pd.Document.PrintPage += new PrintPageEventHandler(Document_PrintPage);
pd.Document.QueryPageSettings += new QueryPageSettingsEventHandler(Document_QueryPageSettings);
pd.Document.BeginPrint += new PrintEventHandler(Document_BeginPrint);
if (pd.ShowDialog(this) == DialogResult.OK)
{
}
}void Document_QueryPageSettings(object sender, QueryPageSettingsEventArgs e)
{
e.PageSettings.Landscape = true;
int index = -1;
for (int i=0;i<e.PageSettings.PrinterSettings.PaperSizes.Count;i++)
{
if (e.PageSettings.PrinterSettings.PaperSizes[i].PaperName== "A4")
{
index=i;
break;
}
}
if (index != -1)
{
e.PageSettings.PaperSize = e.PageSettings.PrinterSettings.PaperSizes[index];
}
}void Document_BeginPrint(object sender, PrintEventArgs e)
{
}void Document_PrintPage(object sender, PrintPageEventArgs e)
{
using (Bitmap bit = new Bitmap(this.listBox.Width, this.listBox.Height))
{
this.listBox.DrawToBitmap(bit, this.listBox.ClientRectangle);
e.Graphics.DrawImage(bit, new Point(0, 0));
}
}
=============客户A信息===========
姓名:甲 性别: 男
...
=============客户B信息===========
姓名:甲 性别: 男
...
页面上有个按钮点击按钮就打印出来就可以了打印出来的内容差不多和listview一行对一行就行
{
private float y=1;
private float x=1;
Font btfont = new Font("黑体", 10);
SizeF size = e.Graphics.MeasureString("样", btfont);
for (int i = 0; i < listBox1.Items.Count; i++)
{
e.Graphics.DrawString("=============客户A信息=========== ", btfont, Brushes.Black, x,y)
y += size.Height;
e.Graphics.DrawString(listBox1.Items[i].ToString(), btfont, Brushes.Black, x,y)
}
}
自已调整x,y的值
protected void printDocument_PrintPage(Object sender, PrintPageEventArgs e)
{
private float y=1;
private float x=1;
Font btfont = new Font("黑体", 10);
SizeF size = e.Graphics.MeasureString("样", btfont);
for (int i = 0; i < listBox1.Items.Count; i++)
{
e.Graphics.DrawString("=============客户A信息=========== ", btfont, Brushes.Black, x,y)
y += size.Height;
e.Graphics.DrawString(listBox1.Items[i].ToString(), btfont, Brushes.Black, x,y)
}
}