编辑复制StripItem不工作
本文关键字:工作 StripItem 复制 编辑 | 更新日期: 2023-09-27 17:54:57
设置动态Edit→Copy mnuStripItem
的代码正确吗?
此代码用于复制用户突出显示的任何内容,并正确输出。
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
Form f = Form.ActiveForm;
// Find the control that has focus
Control focusedControl = f.ActiveControl;
// See if focusedControl is of a type that can select text/data
if (focusedControl is TextBox)
{
TextBox tb = focusedControl as TextBox;
Clipboard.SetDataObject(tb.SelectedText);
}
else if (focusedControl is DataGridView)
{
DataGridView dgv = focusedControl as DataGridView;
Clipboard.SetDataObject(dgv.GetClipboardContent());
}
//else if (...more?...)
//{
//}
}
这是绝对正确的,但通常当我必须处理很多check语句时,我更喜欢使用switch语句。它更容易阅读,我认为它在这种情况下也会表现得更好(不需要使用"is"answers"as"语句):
Control focusedControl = f.ActiveControl;
switch (focusedControl.GetType())
{
case typeof(TextBox):
TextBox tb = (TextBox)focusedControl;
Clipboard.SetDataObject(tb.SelectedText);
break;
// ...
default:
break;
}