private void editValueToolStripMenuItem_Click(object sender, EventArgs e) { using (EditDialog ed = new EditDialog()) { if (ed.ShowDialog() == DialogResult.OK) { byte[] setValue; switch (dataTypeComboBox.SelectedIndex) { case 0: try { setValue = BitConverter.GetBytes(Convert.ToInt16(ed.Value)); } catch { MessageBox.Show("Input value is too large or too small to be an Int16.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } break; case 1: try { setValue = BitConverter.GetBytes(Convert.ToInt32(ed.Value)); } catch { MessageBox.Show("Input value is too large or too small to be an Int32.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } break; case 2: try { setValue = BitConverter.GetBytes(Convert.ToInt64(ed.Value)); } catch { MessageBox.Show("Input value is too large or too small to be an Int64.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } break; case 3: try { setValue = BitConverter.GetBytes(Convert.ToSingle(ed.Value)); } catch { MessageBox.Show("Input value is too large or too small to be a Float.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } break; case 4: try { setValue = BitConverter.GetBytes(Convert.ToDouble(ed.Value)); } catch { MessageBox.Show("Input value is too large or too small to be an Double.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } break; default: MessageBox.Show("An unknown error occurred.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } foreach (ListViewItem l in resultsListView.SelectedItems) { SearchResult sr = ((SearchResult)l.Tag); sr.Buffer = setValue; _ms.writeMemory(sr.Address, setValue); l.SubItems[1].Text = convertBuffer(setValue, dataTypeComboBox.SelectedIndex); } } } }