通过VS的包安装器在线安装(我安装的是最新版本2.4.0,如果安装失败需要切换.net4.7以上版本)
我是在打印预览的画布上面显示出来的(图1)
private void button1_Click_1(object sender, EventArgs e)
{
printDocument.PrintPage += new PrintPageEventHandler(PrintPage);
previewControl.Document = printDocument;
previewControl.Size = new Size(400, 400);//Size大小
printDocument.DefaultPageSettings.PaperSize = new PaperSize("Custom", previewControl.Width, previewControl.Height);//设置画布和打印预览一样大小
previewControl.Invalidate();
this.Controls.Add(previewControl);
}
private void PrintPage(object sender, PrintPageEventArgs e)
{
Barcode barcode = new Barcode();
barcode.IncludeLabel = true;
//barcode.Alignment = AlignmentPositions.LEFT;
barcode.IncludeLabel = true;
Image img = barcode.Encode(TYPE.CODE128, "HCJ IS YYDS#", Color.Black, Color.White, 200, 40);
e.Graphics.DrawImage(img, new Point(100, 100));
}
实际运行效果 barcode.Encode(编码格式,内容,条码颜色,背景颜色,条码宽度,条码高度)
如果想在其他地方显示条码可以这样
可以使用生成器的 Image 属性获取条码图像,并将其显示在窗口中。最简单的方法是使用 PictureBox 控件,将其 Image 属性设置为条码图像(图2)
private void button1_Click_1(object sender, EventArgs e)
{
// 创建条码生成器
Barcode barcode = new Barcode();
barcode.IncludeLabel = true;
barcode.Alignment = AlignmentPositions.CENTER;
barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
Image img= barcode.Encode(TYPE.CODE128, "1234567890", Color.Black, Color.White, 300, 100);
// 获取条码图像
pictureBox1.Image = img;
}
或者,可以使用 Graphics 类的 DrawImage 方法在窗口的任意位置绘制条码(图3)
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 创建条码生成器
Barcode barcode = new Barcode();
barcode.IncludeLabel = true;
barcode.Alignment = AlignmentPositions.CENTER;
barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
Image img= barcode.Encode(TYPE.CODE128, "1234567890", Color.Black, Color.White, 300, 100);
e.Graphics.DrawImage(barcode.Image, 10, 10);
}
//调用
private void button3_Click_1(object sender, EventArgs e)
{
Form1_Paint(this, new PaintEventArgs(this.CreateGraphics(), this.ClientRectangle)); }
实际运行效果如图
有错误的地方还望指出,我再次修改