⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readerform.cs

📁 RFID Reader SampleCode
💻 CS
📖 第 1 页 / 共 3 页
字号:
			{
				this.MyReader.Parameters.PowerMode = false;
			}
		}

		/// <summary>
		/// Find complete or failure notification
		/// </summary>
		private void MyReader_FindNotify(object sender, EventArgs e)
		{
			// Get the next ReaderData
			Symbol.RFID.ReaderData TheReaderData =
				(Symbol.RFID.ReaderData)this.MyReader.GetNextReaderData();
		
			// If the list has any tags
			if ( TheReaderData.TagList.NewTags != 0 )
			{
				this.ReaderStatus.Text = "Tag Found......";
			}
			else
			{
				this.ReaderStatus.Text = "Tag Not Found......";
			}

			// Disable power if the trigger has been released
			if (this.TriggerReleasedFlag)
			{
				this.MyReader.Parameters.PowerMode = false;
			}
		}

		/// <summary>
		/// Handle data from the reader
		/// </summary>
		private void HandleData(Symbol.RFID.ReaderData TheReaderData)
		{
			// Clear the previous list
            this.ReaderDataListView.Items.Clear();
            
			// Populate the list with the updated data
			for (int i=0; i<MyReaderData.TagList.TotalTags; i++)
			{
				string[] sItems = new string[] 
									{
										(i+1).ToString(), 
										MyReaderData.TagList[i].ToString(), 
										MyReaderData.TagList[i].ReadCount.ToString()
									};

				this.ReaderDataListView.Items.Add(new ListViewItem(sItems));
			}

			// Clear the flag so that the Taglist is maintained
			ClearListFlag = false;
		}

		/// <summary>
		/// Exits the application.
		/// </summary>
		private void ExitMenu_Click(object sender, System.EventArgs e)
		{
			// Close this form
			this.Close();
		}

		/// <summary>
		/// Display about box
		/// </summary>
		private void AboutMenu_Click(object sender, System.EventArgs e)
		{
			string sVerInfo = "CS_RFIDSample2 - v1.1.1.2\r\n" + 
				"API Version - " + MyReader.Version.APIVersion + "\r\n" +
				"Firmware Version - " + MyReader.Version.FWVersion + "\r\n" + 
				"Firmware Mfg Date - " + MyReader.Version.FWMfgDate + "\r\n" +
				"Module Serial Number - " + MyReader.Version.SerialNumber + "\r\n";

			Symbol.StandardForms.About.Run(	null,sVerInfo);
		}

		/// <summary>
		/// Clears the Inventory list on the form and sets the flag to
		/// start a new inventory.
		/// </summary>
		private void ClearListMenu_Click(object sender, System.EventArgs e)
		{
			// Clear the previous list
			this.ReaderDataListView.Items.Clear();

			// Set the flag to notify StartRead to start a new inventory
			ClearListFlag = true;
		}

		/// <summary>
		/// Locks all exposed tags with the length of the selected tag.
		/// </summary>
		private void LockMenu_Click(object sender, System.EventArgs e)
		{
			int i = 0;
			
			try
			{
				i = ReaderDataListView.Items[ReaderDataListView.SelectedIndices[0]].Index;
			}
			catch(ArgumentOutOfRangeException)
			{
				System.Windows.Forms.MessageBox.Show("TagID not selected", "CS_RFIDSample2");
				return;
			}

			try
			{
				// If we have a reader and it is not already busy
				if ( (this.MyReader != null) && (!this.MyReader.Info.IsBusy) )
				{
					// Lock all tags of the selected data length in range 
					if(this.MyReader.Parameters.TagType == Symbol.RFID.Tag.Types.EPC_CLASSG2) 
					{
						this.MyReader.Actions.LockTags( this.MyReaderData.TagList[i].DataLength, 
							this.verifyAttempts, this.opAttempts, Symbol.RFID.Actions.Gen2LockOptions.None , 
							Symbol.RFID.Actions.Gen2LockMask.None , 
							Symbol.RFID.Actions.Gen2LockAction.None );
					}
					else 
					{
					this.MyReader.Actions.LockTags( this.MyReaderData.TagList[i].DataLength, 
							this.verifyAttempts, this.opAttempts,  this.lockCode);
					}
					this.ReaderStatus.Text = "Tag Locked";
				}
			}
			catch(Exception ex)
			{
				System.Windows.Forms.MessageBox.Show(ex.Message, "CS_RFIDSample2");
			}
		}

		/// <summary>
		/// Programs all exposed tags with the selected TagID.
		/// </summary>
		private void ProgramMenu_Click(object sender, System.EventArgs e)
		{
			int i = 0;
			
			try
			{
				i = ReaderDataListView.Items[ReaderDataListView.SelectedIndices[0]].Index;
			}
			catch(ArgumentOutOfRangeException)
			{
				System.Windows.Forms.MessageBox.Show("TagID not selected", "CS_RFIDSample2");
				return;
			}

				// If we have a reader and it is not already busy
				if ( (this.MyReader != null) && (!this.MyReader.Info.IsBusy) )
				{
				ProgramTagsForm progForm = new ProgramTagsForm(this.MyReader, this.MyReaderData.TagList[i].Type , 
					this.MyReaderData.TagList[i].TagID, this.MyReaderData.TagList[i].DataLength);
                ReaderForm.ScaleDown(progForm);
				progForm.ShowDialog();
					this.ReaderStatus.Text = "Tag Programmed";
				}
			}

		/// <summary>
		/// When checked Read mode is changed to perform Find on the selected tag.
		/// </summary>
		private void FindMenu_Click(object sender, System.EventArgs e)
		{
			// Toggle Selection
			if (menuItemFind.Checked)
			{
				menuItemFind.Checked = false;
			}
			else
			{
				menuItemFind.Checked = true;
			}
		}

		/// <summary>
		/// Kills the selected tag.
		/// </summary>
		private void KillMenu_Click(object sender, System.EventArgs e)
		{
			int i = 0;
			
			try
			{
				i = ReaderDataListView.Items[ReaderDataListView.SelectedIndices[0]].Index;
			}
			catch(ArgumentOutOfRangeException)
			{
				System.Windows.Forms.MessageBox.Show("TagID not selected", "CS_RFIDSample2");
				return;
			}

			try
			{
				// If we have a reader and it is not already busy
				if ( (this.MyReader != null) && (!this.MyReader.Info.IsBusy) )
				{
					// Kill the selected tag 
					this.MyReader.Actions.KillTag( this.MyReaderData.TagList[i].TagID,
						this.MyReaderData.TagList[i].DataLength, this.verifyAttempts, this.opAttempts, this.lockCode );

					this.ReaderStatus.Text = "Tag Killed";
				}
			}
			catch(Exception ex)
			{
				System.Windows.Forms.MessageBox.Show(ex.Message, "CS_RFIDSample2");
			}
		}

		/// <summary>
		/// Erases all exposed tags that are not locked.
		/// </summary>
		private void EraseMenu_Click(object sender, System.EventArgs e)
		{
			try
			{
				// If we have a reader and it is not already busy
				if ( (this.MyReader != null) && (!this.MyReader.Info.IsBusy) )
				{
					// Erase all tags in range
					this.MyReader.Actions.EraseTags( this.verifyAttempts, this.opAttempts );

					this.ReaderStatus.Text = "Tag Erased";
				}
			}
			catch(Exception ex)
			{
				System.Windows.Forms.MessageBox.Show(ex.Message, "CS_RFIDSample2");
			}
		}

		/// <summary>
		/// Called when ReaderForm is activated
		/// </summary>
		private void ReaderForm_Activated(object sender, EventArgs e)
		{
			// Enable the trigger
			if (this.MyReader != null)
                this.MyReader.TriggerNotify += this.MyTriggerHandler;
		}

		/// <summary>
		/// Called when ReaderForm is deactivated
		/// </summary>
		private void ReaderForm_Deactivate(object sender, EventArgs e)
		{
			// Disable the trigger
			if (this.MyReader != null)
                this.MyReader.TriggerNotify -= this.MyTriggerHandler;
		}

		/// <summary>
		/// Sets Class0 as the tag type for Program, Lock, Kill and 
		/// Erase operations
		/// </summary>
		private void menuItemClass0_Click(object sender, System.EventArgs e)
		{
			menuItemClass0.Checked = true;
			menuItemClass1.Checked = false;
			menuItemGen2Type.Checked = false;
			
			// Select the TagType
			this.MyReader.Parameters.TagType = Symbol.RFID.Tag.Types.EPC_CLASS0;
		}

		/// <summary>
		/// Sets Class1 as the tag type for Program, Lock, Kill and 
		/// Erase operations
		/// </summary>
		private void menuItemClass1_Click(object sender, System.EventArgs e)
		{
			menuItemClass0.Checked = false;
			menuItemClass1.Checked = true;
			menuItemGen2Type.Checked = false;
			
			// Select the TagType
			this.MyReader.Parameters.TagType = Symbol.RFID.Tag.Types.EPC_CLASS1;
		}

		private void menuItemGen2Type_Click(object sender, System.EventArgs e)
		{
			menuItemClass0.Checked = false;
			menuItemClass1.Checked = false;
			menuItemGen2Type.Checked = true;

			// Select the TagType
            this.MyReader.Parameters.TagType = Symbol.RFID.Tag.Types.EPC_CLASSG2;
		}

		private void menuItemGeneral_Click(object sender, System.EventArgs e)
		{
			ReaderSettingsForm RSForm = new ReaderSettingsForm(MyReader);
            ReaderForm.ScaleDown(RSForm);
			RSForm.ShowDialog();
			RSForm.Dispose();
		}

		private void menuItemGen2_Click(object sender, System.EventArgs e)
		{
			Gen2Form G2Form = new Gen2Form(MyReader);
            ReaderForm.ScaleDown(G2Form);
			G2Form.ShowDialog();
			G2Form.Dispose();
		}

       
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -