Выровненные по правому краю маркировки в WinForms

Этот вопрос и ответ был очень полезен для меня при переносе более крупного проекта EF с SQL на mySQL, поэтому я подумал, что добавлю свои заметки и надеюсь, что они будут полезны:

Как указано в имени строки подключения должен соответствовать имени класса, который расширяет System.Data.Entity.DbContext.

Кажется, до сих пор нет способа создавать таблицы в EF с использованием коннектора mySQL, но вы можете использовать и изменять сценарии создания SQL для генерации таблиц mySQL. Самым простым способом, который я нашел для этого, было закомментировать и отключить функцию OnModelCreating расширенного DbContext в зависимости от того, нужен ли код для воссоздания таблиц. Если я обнаружу, что делаю это чаще, я планирую решить эту проблему с помощью внедрения зависимостей и иметь отдельные классы, основанные на конфигурации MySQL или MSSQL.

Я обнаружил, что проще убедиться в том, что в комплектах и ​​серверах разработчика был правильный соединитель MySQL .dll, упакованный в выпуске, чем связываться с DbFactoryProviders в webconfig. Получение правильной упаковки в пакете сборки проекта / решения означало, что мне нужны были только строки строки подключения, а не строки DbFactoryProviders, которые, как мне показалось, было трудно работать согласованно на нескольких машинах.

Мне нужно было изменить чувствительность регистра идентификатора mySQL от 0 до 1. Без этого параметра подключенный EF SQL не смог найти таблицы, которые были там из-за смешанных имен вариантов моих объектов по сравнению с таблицы с фиксированным регистром, которые создает mySQL.

44
задан Roman Starkov 7 November 2009 в 08:05
поделиться

3 ответа

Один из простых вариантов - отключить AutoSize (установить на false ) и увеличить его, чтобы оставалось свободное место.

В качестве альтернативы, возможно, используйте Dock вместо просто Anchor , хотя это имеет другое значение, поэтому вам может потребоваться поместить его в Panel или аналогичный). В конечном итоге это работает так же, как и первое - в первую очередь за счет завышения размера; так что, возможно, первый вариант проще.

52
ответ дан 26 November 2019 в 22:08
поделиться

, если вы установите свойство формы RightToLeft = yes; поэтому вам не следует использовать свойство Text Align, просто установите Anchor. попробуйте следующие подходы:

Form.righttoleft = yes;
label.anchor = Top, Right;
label.TextAlign = TopLeft;

или

Form.righttoleft = No;
label.anchor = Top, Right;
label.TextAlign = TopRight;

или

Form.righttoleft = yes;
label.righttoleft = No;
label.anchor = Top, Right;
label.TextAlign = TopRight;
0
ответ дан 26 November 2019 в 22:08
поделиться

Использование TableLayoutPanel с закрепленными метками - единственный надежный метод, который я нашел для размещения меток с выравниванием по правому краю в Winforms. Отключение AutoSize и использование слишком больших меток, кажется, вызывает странные аномалии для пользователей с высоким разрешением.

9
ответ дан 26 November 2019 в 22:08
поделиться
Другие вопросы по тегам:

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