FAQ TBarCode .NET
Comment ajouter du texte supplémentaire au contrôle ?
Comment ajouter du texte supplémentaire au contrôle ?
Cela est possible en changeant l'index de texte actif par programmation. L'exemple de code suivant suppose un contrôle de code-barres, dessiné sur un Graphics (gfx) en unités de pixels, et montre comment ajouter du texte supplémentaire sur le côté droit.
Barcode tbc = barcodeControl1.Barcode;
Graphics gfx = this.CreateGraphics();
SizeF barcodeSizeMM = tbc.CalculateBarcodeSize(gfx);
double pixelSizeMM = 25.4F / gfx.DpiX;
int barcodeWidthPx = Convert.ToInt32(0.5 + barcodeSizeMM.Width / pixelSizeMM);
int barcodeHeightPx = Convert.ToInt32(0.5 + barcodeSizeMM.Height / pixelSizeMM);
// first add a quiet zone for our text area
tbc.QuietZones.Right.Size = 100;
tbc.QuietZones.Unit = QuietZoneUnit.Pixel;
// set barcode data (+ normal HRT) in text area #0
tbc.ActiveTextIndex = 0;
tbc.BarcodeType = BarcodeType.Code128;
tbc.Data = "1234567890";
tbc.IsTextVisible = false;
// change text index to (auxiliary) text area #1
tbc.ActiveTextIndex = 1;
// now adjust all settings for text area #1
tbc.HumanReadableText ="My Label Text";
tbc.Font = new Font("Arial", 10, FontStyle.Regular, GraphicsUnit.Point);
tbc.TextClipping = false;
tbc.IsTextVisible = true;
tbc.TextPositionTop = (barcodeHeightPx - (int) tbc.Font.GetHeight(gfx)) / 2 ;
tbc.TextPositionLeft = barcodeWidthPx - (int)tbc.QuietZones.Right.Size + 10;
// reset text index back to barcode text
tbc.ActiveTextIndex = 0;
La zone de texte n° 1 peut être définie sur n'importe quel texte, mais aussi sur les données de votre code-barres. Vous devez prendre en compte les dimensions et centrer/aligner le texte avec vos propres coordonnées.