在事件处理函数内调用方法

时间:2015-04-29 11:09:10

标签: c# zxing

我试图在C#中实现一个生成QR码的应用程序。我设法做到了这一点,但我不知道如何在genButton_Click(对象发送者,EventArgs e)中调用CreateQRImage(string inputData)。

我在Windows窗体中有一个文本框和一个按钮,我认为必须使用文本框的名称调用函数CreateQRImage

以下是代码:

private void genButton_Click(object sender, EventArgs e)
{

}

public void CreateQRImage(string inputData)
{
    if (inputData.Trim() == String.Empty)
    {
        System.Windows.Forms.MessageBox.Show("Data must not be empty.");
    }

    BarcodeWriter qrcoder = new ZXing.BarcodeWriter
    {
        Format = BarcodeFormat.QR_CODE,
        Options = new ZXing.QrCode.QrCodeEncodingOptions
        {
            ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.H,
            Height = 250,
            Width = 250
        }
    };

    string tempFileName = System.IO.Path.GetTempPath() + inputData + ".png";

    Image image;
    String data = inputData;
    var result = qrcoder.Write(inputData);
    image = new Bitmap(result);
    image.Save(tempFileName);

    System.Diagnostics.Process.Start(tempFileName);
}

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

private void genButton_Click(object sender, EventArgs e)
{
    // Assuming your text box name. Also assuming UI disables button until text is entered.
    this.CreateQRImage(myTextBox.Text);
}