private void btnConnect_Click(object sender, System.EventArgs e) { String result; string tempstr; this.Cursor = Cursors.WaitCursor; try { if (meReaderInterface == ComInterface.enumTCPIP) { mReader.InitOnNetwork(textBox1.Text, Convert.ToInt32(PortUD.Value)); } DisplayText("\r\nConnecting to the reader...\r\n"); label2.Text = "正在连接......"; this.Cursor = Cursors.WaitCursor; result = mReader.Connect(); if (!mReader.IsConnected) { textReaderTalk.AppendText("\r\nCan't connect\r\n"); } else { if (meReaderInterface == ComInterface.enumTCPIP) { DisplayText("\r\nLogging in...\r\n"); this.Cursor = Cursors.WaitCursor; if (!mReader.Login(this.UserName.Trim(), this.Password.Trim())) //returns result synchronously { DisplayText("\r\nLogin failed! Calling Disconnect()...\r\n"); mReader.Disconnect(); label2.Text = "连接失败!"; return; } DisplayText("\r\nLogged in - OK!\r\n"); tempstr = mReader.SendReceive("set function=programmer", false).Trim(); //设置Reader为编程状态 label2.Text = "登陆成功!编程状态"; } DisplayText(result); ManageGUI(true); textReaderTalk.Visible = true; } } catch (Exception ex) { MessageBox.Show(ex.Message); } this.Cursor = Cursors.Default; }
private void treeView1_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e) { string tag = e.Node.Tag as string; if ((tag != null) && (tag != "")) { if (e.Node.Checked) { lock (moCurrentReadersLock) { if (!mClients.ContainsKey(tag)) // configuring reader for the first time { saveReaderState(mStoredStates[tag] as MyStoredReaderState); clsReader reader = null; reader = mClients[tag] as clsReader; if ((reader == null) || (!reader.IsConnected)) { MessageBox.Show("Can't connect to the reader."); treeView1.Nodes.Remove(e.Node); lblReadersCount.Text = (--miReadersCount).ToString(); } else { this.Cursor = Cursors.WaitCursor; // any of these can throw, especially for older readers try { reader.NotifyAddress = mServers[0].NotificationHost; } catch { } try { reader.TagStreamAddress = mServers[1].NotificationHost; } catch { } try { reader.IOStreamAddress = mServers[2].NotificationHost; } catch { } try { reader.TagListMillis = "off"; } catch { } try { reader.AutoMode = "On"; } catch { } // cusotmize these properties (and any of other related ones) as you desire try { reader.NotifyTime = "42000"; } catch { } try { reader.PersistTime = "42000"; } catch { } try { reader.NotifyFormat = "Text"; } catch { } try { reader.NotifyHeader = "Off"; } catch { } try { reader.TagStreamFormat = "Terse"; } catch { } try { reader.IOStreamFormat = "Text"; } catch { } try { reader.IOStreamKeepAliveTime = "42000"; } catch { } try { reader.TagStreamKeepAliveTime = "42000"; } catch { } try { reader.AutoWaitOutput = "-1"; } catch { } try { reader.AutoWorkOutput = "-1"; } catch { } try { reader.AutoTrueOutput = "-1"; } catch { } try { reader.AutoFalseOutput = "-1"; } catch { } this.Cursor = Cursors.Default; } e.Node.Expand(); } }// release lock } else { e.Node.Checked = true; } } else // Start / Stop automatic messages from the reader { tag = e.Node.Parent.Tag as String; lock (moCurrentReadersLock) { if (!mClients.ContainsKey(tag)) { e.Node.Parent.Checked = true; } clsReader reader = mClients[tag] as clsReader; if ((reader != null) && !(reader.IsConnected)) { connect((mStoredStates[tag] as MyStoredReaderState), ref reader); if (!reader.IsConnected) { MessageBox.Show("Can't connect to the reader."); treeView1.Nodes.Remove(e.Node.Parent); lblReadersCount.Text = (--miReadersCount).ToString(); return; } } string cmd = e.Node.Text + "Mode"; string strToSend = "Set " + cmd + " = " + (e.Node.Checked ? "On" : "Off"); try { reader.SendReceive(strToSend, false); } catch (Exception ex) { if (e.Node.Checked) { MessageBox.Show(ex.Message); e.Node.Checked = false; } } } // release lock } }