更改事件内的文本框值?

时间:2013-04-10 05:42:05

标签: c# asp.net

发生此事件时我有扫描仪事件我有代码将扫描仪中的内容保存到文本框中。

当我跟踪它时,它工作正常,但屏幕上没有显示用户

此按钮内的代码点击:

  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();

        }

这段代码在printfunction函数写入textbox之后:

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;
     }

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

您的本地变量txt是否包含正确的值?如果是,请在设置文本后尝试TextBox1.Refresh()