1 Ctrl+C Ctrl+V
// 对剪切板内容进行修改
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && (e.KeyCode == Keys.V))
{
string str = Clipboard.GetText();
if (str == "")
{
return;
}
string[] vals = Regex.Split(str, "\t");
if (vals.Length <= 1)
{
return;
}
if (this.textBox1.Focused == true)
{
// 想要的值
this.textBox1.Text = vals[1];
}
else if (this.textBox2.Focused == true)
{
// 想要的值
this.textBox2.Text = vals[2];
}
Clipboard.Clear();
}
2 添加右键复制菜单
// 显示右键菜单
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (e.RowIndex >= 0)
{
if (dataGridView1.Rows[e.RowIndex].Selected == false)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[e.RowIndex].Selected = true;
}
if (dataGridView1.SelectedRows.Count == 1)
{
if (e.RowIndex == -1 || e.ColumnIndex == -1)
{
return;
}
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
contextMenuStrip1.Show(MousePosition.X,MousePosition.Y);
}
}
}
// 选择Copy菜单时发生
private void CopyToolStripMenuItem_Click(object sender, EventArgs e)
{
string str = this.dataGridView1.CurrentCell.Value.ToString();
Clipboard.SetDataObject(str);
}
-------------------------------------------------------------------------------
private void InjectionDrugForm_KeyUp(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
{
// Ctrl+cキー押下時
this.cellValue = this.InjectionDrugDataGridView.CurrentCell.Value.ToString();
Clipboard.SetData(DataFormats.Text, this.cellValue);
}
}
private void InjectionDrugForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.V)
{
// Ctrl+Vキー押下時
this.InjectionDrugDataGridView.CurrentCell.Value = this.cellValue;
}
}