Не существует универсального интерфейса или набора методов для получения вырезанной / скопированной / вставленной информации из элемента управления Windows формы.
Я полагаю, что вашим лучшим подходом было бы создание класса-оболочки для каждого типа элемента управления. Затем, когда вы захотите обновить состояние меню, вы получите текущий элемент управления с фокусом и создадите для него соответствующую обертку. Затем вы запрашиваете у этой оболочки необходимую вам информацию о состоянии. Таким образом, вам нужно только создать реализацию оболочки для каждого типа используемого вами элемента управления. Начать с боли, но в другое время вам нужно только добавить новые элементы управления, с которыми вы сталкиваетесь.
Информация о буфере обмена намного проще, так как вы можете спросить синглтон буфера обмена, есть ли у него данные внутри и какого типа это. Опять же, вам все равно нужно спросить целевой элемент управления, может ли он принять этот тип информации, так что все еще требуется дополнительная работа.