J'ai essayé de faire fonctionner le code VB suivant en C# pendant des heures maintenant. Je continue d'obtenir une exception Value does not fall within the expected range.
lors de l'appel CreateStroke(). En outre, here est également la documentation de Microsoft avec une version C++.Aidez-moi à convertir le code VB/C++ suivant en C#
Option Explicit
Dim theInkCollector As InkCollector
Private Sub Form_Load()
Set theInkCollector = New InkCollector
theInkCollector.hWnd = Me.hWnd
theInkCollector.Enabled = True
//Create a set of three points, stored as x1, y1, x2, y2, x3, y3
//in an array of six Long elements, starting at index 0.
Dim ptStrokePoints(5) As Long
ptStrokePoints(0) = 200
ptStrokePoints(1) = 200
ptStrokePoints(2) = 400
ptStrokePoints(3) = 600
ptStrokePoints(4) = 900
ptStrokePoints(5) = 300
//The description value is an unused placeholder.
Dim theDescription As Variant
Dim theStroke As IInkStrokeDisp
Set theStroke = theInkCollector.Ink.CreateStroke(ptStrokePoints, theDescription)
End Sub
Voici ce que j'ai:
MSINKAUTLib.InkCollector collector = new MSINKAUTLib.InkCollector();
collector.hWnd = (int)(this.Handle);
collector.Enabled = true;
long[] pts = new long[6];
pts[0] = 200;
pts[1] = 200;
pts[2] = 400;
pts[3] = 600;
pts[4] = 900;
pts[5] = 300;
collector.Ink.CreateStroke(pts, new object());
Le premier paramètre de 'CreateStroke' attend' int [] ', pas' long [] '. – Seth
J'ai essayé int [], et il dit toujours "La valeur ne tombe pas dans la fourchette attendue." – Mark