C# включают полученное управление в панель инструментов

Я не уверен, правильно ли я вас понимаю, но вы можете использовать SFINAE для обнаружения присутствия функции во время компиляции. Пример из моего кода (тесты, если класс имеет функцию-член size_t used_memory () const).

template<typename T>
struct HasUsedMemoryMethod
{
    template<typename U, size_t (U::*)() const> struct SFINAE {};
    template<typename U> static char Test(SFINAE<U, &U::used_memory>*);
    template<typename U> static int Test(...);
    static const bool Has = sizeof(Test<T>(0)) == sizeof(char);
};

template<typename TMap>
void ReportMemUsage(const TMap& m, std::true_type)
{
        // We may call used_memory() on m here.
}
template<typename TMap>
void ReportMemUsage(const TMap&, std::false_type)
{
}
template<typename TMap>
void ReportMemUsage(const TMap& m)
{
    ReportMemUsage(m, 
        std::integral_constant<bool, HasUsedMemoryMethod<TMap>::Has>());
}
6
задан Community 23 May 2017 в 11:52
поделиться

2 ответа

Щелкните правой кнопкой по панели инструментов, нажмите "Choose Items" из контекстного меню, обзора к Вашему DLL, и выберите его.

Расширяться на ответе Greg... Просто для уточнения Вы не можете добавить пользовательский элемент управления к панели инструментов, если код для нее находится в том же проекте, в котором Вы хотите использовать ее. По некоторым причинам MS никогда не добавлял эту способность, которая имела бы смысл, так как мы не хотим всегда должными быть создавать Библиотеку Пользовательского элемента управления DLL каждый раз, мы хотим использовать пользовательский элемент управления. Так, для получения его на панели инструментов необходимо сначала создать отдельный "проект" Библиотеки Пользовательского элемента управления (который может быть в том же решении!) и затем делают то, что сказал Greg.

7
ответ дан 17 December 2019 в 00:17
поделиться

Щелкните правой кнопкой по панели инструментов, нажмите "Choose Items" из контекстного меню, обзора к Вашему DLL, и выберите его.

0
ответ дан 17 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: