编辑复制StripItem不工作

本文关键字:工作 StripItem 复制 编辑 | 更新日期: 2023-09-27 17:54:57

设置动态EditCopy 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?...)
        //{
        //}
    }

编辑复制StripItem不工作

这是绝对正确的,但通常当我必须处理很多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;
}