Нужно создать компонент для нужд проекта. Вот максимально упрощённый код:
[Serializable()]
public partial class TabControl2 : TabControl
{
private List<TabPage> userPages;
public Dictionary<int, DrawItemEventArgs> AllItemsDraw { get; set; } = new Dictionary<int, DrawItemEventArgs>();
public TabControl2():base()
{
InitializeComponent();
}
public TabControl2(IContainer container)
{
container.Add(this);
InitializeComponent();
}
public void InitializeComponent()
{
DrawMode = TabDrawMode.OwnerDrawFixed;
userPages = new List<TabPage>();
userPages.Add(new TabPage() { Text = "test1", BorderStyle = BorderStyle.None, BackColor = SystemColors.ControlDarkDark });
Controls.Add(userPages.ElementAt(0));
userPages.Add(new TabPage() { Text = "test2", BorderStyle = BorderStyle.None, BackColor = SystemColors.ControlDarkDark });
Controls.Add(userPages.ElementAt(1));
userPages.Add(new TabPage() { Text = "test_full_please", BorderStyle = BorderStyle.None, BackColor = SystemColors.ControlDarkDark });
Controls.Add(userPages.ElementAt(2));
}
// etc...
}
При взаимодействии с новым компонентом в конструкторе форм появляется следующая ошибка:
В чем ошибаюсь? Благодарю.
Решение: При создании пользовательского контрола студия пытается создать объекты всех свойств контрола, для отображения их в дизайнере. Это и блокирует форму и вызывает вышеописанную ошибку. Решение:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
Пометить атрибутом нужные свойства.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не получается записать в файл строку, не пойму в чем делоStackTrace:
Всем добрый день, Учу C# и пытаюсь понять в чем ошибка
Как отсортировать элементы списка по возрастанию цены? Были попытки сделать это через оператор orderby, но в таком случае просто сортирует одни...