1

このイベントが発生したときにスキャナーイベントがあり、スキャナーで読み取ったものを textbox に保存するコードがあります。

これをトレースしているときは正常に動作しますが、ユーザーの画面には何も表示されません

ボタンクリック内のこのコード:

  protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            //Instantiate CoreScanner Class
            cCoreScannerClass = new CCoreScannerClass();
            //Call Open API
            short[] scannerTypes = new short[1];//Scanner Types you are interested in
            scannerTypes[0] = 1; // 1 for all scanner types
            short numberOfScannerTypes = 1; // Size of the scannerTypes array
            int status; // Extended API return code
            cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
            // Subscribe for barcode events in cCoreScannerClass
            cCoreScannerClass.BarcodeEvent += new
            _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
            // Let's subscribe for events
            int opcode = 1001; // Method for Subscribe events
            string outXML; // XML Output
            string inXML = "<inArgs>" +
            "<cmdArgs>" +
            "<arg-int>1</arg-int>" + // Number of events you want to subscribe
            "<arg-int>1</arg-int>" + // Comma separated event IDs
            "</cmdArgs>" +
            "</inArgs>";
            cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
            Console.WriteLine(outXML);

        }
        catch (Exception exp)
        {
            Console.WriteLine("Something wrong please check... " + exp.Message);
        }
    }

イベント発生後のこのコード:

void OnBarcodeEvent(short eventType, ref string pscanData)
{
    first = pscanData;
      printfunction();

        }

textbox に書き込む printfunction 関数の後のこのコード:

private void printfunction()
    {
        int l = first.IndexOf("<datalabel>");
        second = first.Substring(l + 11);
        int j = second.IndexOf("</datalabel>");
        second = second.Substring(0,j-1);

        string newValue = second.Replace("0x", ""); ;
        newValue = newValue.Replace(" ", string.Empty);
        txt = GetStringFromAsciiHex(newValue);
       TextBox1.Text = txt;
     }

私を助けてください。ありがとうございました。

4

1 に答える 1

0

ローカル変数txtに正しい値が含まれていますか? TextBox1.Refresh()その場合は、テキストを設定してからお試しください。

于 2013-04-10T06:08:59.060 に答える