C#如何将扫描字符串发送到表单2
我正在创建一个包含两个表单的应用程序。 在我的主窗体1上,我有一个通过按钮连接的扫描仪。 我的form2上有一个文本框,在这个文本框中,我希望扫描的信息可以放在这里。 我的表格1上没有文本框 我似乎不知道怎么做,我想知道是否有人有任何提示 多谢各位C#如何将扫描字符串发送到表单2,c#,C#,我正在创建一个包含两个表单的应用程序。 在我的主窗体1上,我有一个通过按钮连接的扫描仪。 我的form2上有一个文本框,在这个文本框中,我希望扫描的信息可以放在这里。 我的表格1上没有文本框 我似乎不知道怎么做,我想知道是否有人有任何提示 多谢各位 这是表格1中的代码,允许我设置扫描仪 ///扫描仪设置按钮的事件处理程序 /// /// private void scannerFormBTN_单击(对象发送方,事件参数e) { 尝试 { //如果按钮为黄色,请断开手持扫描仪 if(sca
这是表格1中的代码,允许我设置扫描仪
///扫描仪设置按钮的事件处理程序
///
///
private void scannerFormBTN_单击(对象发送方,事件参数e)
{
尝试
{
//如果按钮为黄色,请断开手持扫描仪
if(scannerBTN.BackColor==Color.LightGreen)
{
scanner.ReadStringArrivedHandler-=新的ReadStringArrivedHandler(OnReadStringArrived);
scanner.Disconnect();
扫描器=空;
scannerFormBTN.BackColor=Color.IndianRed;
this.scannerFormBTN.Text=“设置手持扫描仪”;
MessageBox.Show(“手持式扫描仪已断开。”,“警报”);
}
//如果扫描仪未连接
其他的
{
Setupscanner scannerForm=新建Setupscanner();//实例化扫描仪表单
//显示表单。如果扫描仪连接成功,DialogResult=yes。
DialogResult connection_successfull=scannerForm.ShowDialog();
if(连接成功==对话框结果.是)
{
this.scanner=scannerForm.sys;//将本地手动扫描仪变量设置为成功连接的扫描仪
如果(扫描仪已断开连接)
{
scanner.ReadStringArrivedHandler+=新的ReadStringArrivedHandler(OnReadStringArrivedHandler);//注册读取字符串事件。
scannerFormBTN.Text=“手动扫描仪已连接。单击以断开连接”;
scannerBTN.BackColor=Color.LightGreen;//更改手持扫描仪按钮的颜色
}
}
}
}
catch(Exception ex){MessageBox.Show(“出现错误。异常读取:\n\n”+ex.Message,“error”);}
}
///
///当字符串从连接的手持扫描仪到达时激发的事件
///
///
///
私有void OnReadStringArrived(对象发送方,ReadStringArrivedEventArgs args)
{
SetSerNumber(args.ReadString);
}
///
///用于设置输入扫描仪字符串的序列号
///
///
私有void SetSerNumber(字符串msg)
{
//如果事件是在创建控件的线程之外的其他线程上触发的
如果(需要调用的部分代码文本框)
{
SetSerialNumber S=新的SetSerialNumber(SetSerNumber);
this.Invoke(S,新对象[]{msg});//在当前线程上调用委托
}
其他的
{
Part_Code_Text_Box.Text=msg.Trim();
}
}
在表单2中创建一个属性或字段。现在我们将其称为StringFromScanner。
当您想要显示另一个时,您很可能会从中创建一个对象…将此对象的StringFromScanner设置为您拥有的字符串..并且当您打开第二个表单时,该属性中将包含该字符串的值,并且您可以将其分配给任何控件
表格一
Form2 objectfromform2 = new Form2();
objectfromform2.StringFromScanner = MyString;
objectfromform2.Show();
表格二
MytextBox.Text = StringFromScanner
您也可以忽略属性,使用构造函数来获得相同的结果
MytextBox.Text = StringFromScanner