📄 readerform.cs
字号:
{
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 + -