单击另一个文本框后字符串消失

String disappears after clicking on another textbox

我试图在单击按钮时生成随机整数值(条形码)。然后,我检查两个表(股票、单位)是否已经存在新条形码。如果是唯一的,新的条形码将被写​​入文本框。

一切正常,但是当我点击另一个文本框时,条形码消失了。

PS: 我在全局区域中将newBarcode定义为Integer..

private void btnBarkodOlustur_Click(object sender, EventArgs e)
{
    BarcodeGenerator();
    string _newBarcode = newBarcode.ToString();
    if (context.Stocks.Any(c => c.Barcode == _newBarcode) || context.Units.Any(c => c.Unit == _newBarcode))
    {
        BarcodeGenerator();
        return;
    }
    else
    {
        txtBarcode.Text = _newBarcode;
    }
}

private void BarcodeGenerator()
{
    Random rnd = new Random();
    newBarcode = rnd.Next(10000000, 99999999);
}

我对你的代码做了一些修改。单击按钮时,它将生成条形码。虽然条形码不是唯一的,但它将继续生成条形码,直到它是唯一的。然后它将条码值赋给txtBarcode.

Text属性
private Random rnd = new Random();

private void btnBarkodOlustur_Click(object sender, EventArgs e)
{   
    string _newBarcode = BarcodeGenerator();
    while (context.Stocks.Any(c => c.Barcode == _newBarcode) || context.Units.Any(c => c.Unit == _newBarcode))
    {
        _newBarcode = BarcodeGenerator();
    }

    txtBarcode.Text = _newBarcode;
}

private string BarcodeGenerator()
{
    return rnd.Next(10000000, 99999999);
}