要确定打开的是哪个窗口,您可以查询 Form.ActiveMDIChild 属性以获取对当前活动窗口的引用。从那里,您可以执行以下两项操作之一:
1) 如果您创建自己的自定义表单类(例如 FormFoo),它有一个新的公共成员函数 GetCopiedData(),然后从该类继承您应用程序的所有子表单,您可以执行以下操作:< /p>
((FormFoo)this.ActiveMDIChild).GetCopiedData();
假设 GetCopiedData 函数将具有特定于表单的实现来检测应将哪些文本复制到剪贴板。
或
2)你可以使用继承来检测激活的表单类型,然后根据表单类型做一些事情来获取复制的数据:
Form f = this.ActiveMDIChild;
if(f is FormGrid)
{
((FormGrid)f).GetGridCopiedData();
} else if(f is FormText) {
((FormText)f).GetTextCopiedData();
}
等等
这应该让您开始寻找活动窗口以及如何实现复制功能。如果您在复制 GridView 时需要更多帮助,最好发布另一个问题。