создайте управление программно с помощью MFC

Я сделал метод расширения для использования с EntityFramework Core.

Вот код:

using Microsoft.EntityFrameworkCore;
using System.Data.Common;

namespace TerminalInventory
{
    public static class ExtensionMethods
    {
        public static bool TestConnection(this DbContext context)
        {
            DbConnection conn = context.Database.GetDbConnection();

            try
            {
                conn.Open();   // Check the database connection

                return true;
            }
            catch
            {
                return false;
            }
        }
    }
}

Теперь вам просто нужно позвонить:

if (!context.TestConnection())
{
    logger.LogInformation("No database connection. Check the connection string in settings.json. {0}", configuration["connectionString"]);

    return;
}

6
задан Gunther Struyf 31 January 2017 в 09:15
поделиться

3 ответа

Проверьте следующий набор флагов, как пример, упомянутый в MSDN :

   pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_NOHIDESEL | ES_READONLY,
      rect, this, 105);
4
ответ дан 16 December 2019 в 21:45
поделиться

Что такое wnd_Edit? Если это локальная переменная в этой функции, скорее всего, проблема. Деструктор CWnd уничтожает окно, связанное с CWnd. Поэтому, когда wnd_Edit выходит за рамки, поле редактирования также уничтожается. Если это не так, проверьте возвращаемое значение Create (). Это NULL? Если это так, проверьте значение GetLastError ().

0
ответ дан 16 December 2019 в 21:45
поделиться
  • Invalidate () не требуется

  • Добавьте флаг WS_VISIBLE к вашим флагам создания, вам не нужен ShowWindow

  • Вы создаете кнопку в том месте, где находится IDC_LIST1 - вы, вероятно, захотите выполнить pWdn-> Destroy () после GetClientRect ()

  • Идентификатор, который вы передаете в Create (), может быть любым, конечно, если вы хотите обрабатывать сообщения от этой кнопки позже, вам нужно будет использовать правильный идентификатор. В этом случае проще всего вручную добавить запись в resource.h.

  • Что вы имеете в виду под ' Я поместил этот код в обработчик события кнопки '- какая кнопка? Надеюсь, он отличается от того, который вы пытаетесь создать? Ваш код вообще вызывается, останавливается ли он, когда вы ставите точку останова? Какое значение wnd_Edit-> m_hWnd после вызова Create ()?

  • wnd_Edit является членом вашего диалога, верно, а не локальной переменной функции?

4
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

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