Вопрос

Поскольку я только изучаю C # на .NET (у меня больше опыта работы с платформой XNA), я могу использовать его не совсем правильно.

Моя проблема, на мой взгляд, очень странная. Я сделал форму с TabControl внутри, используя дизайнер. На одной из этих вкладок у меня есть ListBox и ComboBox. ComboBox имеет статическое число элементов, которые все объявляются при инициализации для ComboBox.

Всякий раз, когда я щелкаю ComboBox, чтобы просмотреть его содержимое (которых около 30), и прокручиваю вниз или вверх, производительность моего целого приложения сильно падает примерно на одну секунду. Это делает мой ComboBox медленным, как сироп, и вдобавок ко всему это, похоже, ударяет по моему ListBox, так как он становится белым на одну секунду, как будто он ожидает перерисовки.

Теперь я не написал какие-либо циклы или другую тяжелую обработку для чего-либо с помощью ComboBox, все было написано автоматически VisualStudio 2008 и представляет собой стандартный код шаблона + элементы в коробке.

РЕДАКТИРОВАТЬ . Как я уже сказал, VS 2008 генерирует единственный код, и у меня нет методов, прикрепленных к ComboBox (за исключением одного пустого). Однако код здесь:

// 
// comboBox1
// 
this.comboBox1.DropDownHeight = 200;
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.IntegralHeight = false;
this.comboBox1.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.comboBox1.Location = new System.Drawing.Point(26, 362);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(101, 21);
this.comboBox1.TabIndex = 8;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);

Кто-нибудь может поделиться пониманием того, что здесь происходит?

Это было полезно?

Решение 2

Хорошо, так что я узнал, что это было, на самом деле немного стыдно. Мое приложение использует хук, но хук всегда работает и работает, даже если он не нужен. Некоторая реструктуризация и проблема должна быть решена. Возможно, придется взглянуть на крючок тоже, так как это не мой источник с самого начала.

Оцените ответы, хотя:)

Другие советы

Посмотрите на этот пост, он посвящен аналогичной проблеме.

Медленная прокрутка в ComboBox

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top