Visual Studio & ldquo; не отвечает и rdquo; когда я изменяю значение datetimepicker в Winforms [duplicate]

Обновленный ответ

В соответствии с новым вопросом выровняйте один элемент справа, добавив margin-left: auto; к этому элементу.

Демо

Исходный ответ Используйте свойство justify-content в вашем контейнере.

.container {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

Хороший ресурс для свойств flex здесь .

Fiddle

.container {
  border: 2px solid;
  height: 500px;
  display: flex;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.box {
  border: 1px solid;
  height: 200px;
  width: 50px;
}
.a {
  background-color: red;
  align-self: flex-start;
}
.b {
  background-color: cyan;
  align-self: flex-end;
}

2
задан Austin Salonen 13 October 2009 в 20:40
поделиться

4 ответа

У меня тоже такая же проблема. В моем случае вместо вызова DoEvents я обновляю представление Crystal Report. Единственным обходным решением, которое я нашел, является обновление моего представления по событию CloseUp вместо ValueChanged или TextChanged.

Скотт, как вы, наконец, исправили свою проблему?

4
ответ дан rold2007 21 August 2018 в 03:45
поделиться
  • 1
    Я, наконец, решил просто удалить панель, которую я пытался отобразить, это было больше по косметическим соображениям, чем функциональность, но я дам вашему решению попробовать. Благодарю. – Scott Chantry 1 February 2010 в 16:44
  • 2
    +1 - Событие CloseUp решило мою проблему в чем-то, над чем я работаю в проекте VB.NET. Спасибо за Ваш ответ! – Buggabill 26 April 2010 в 19:14

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

  1. Прокомментировать весь обработчик событий, чтобы узнать, как быстро он работает, ничего не привязанного к нему.
  2. Uncomment по одному за раз, чтобы выяснить, какие из них вызывают большинство проблем.
  3. Проанализируйте эти вызовы методов.
  4. ...
  5. Прибыль!
1
ответ дан Austin Salonen 21 August 2018 в 03:45
поделиться

Вы могли бы попробовать пару вещей. Избавьтесь от DoEvents внутри ChangedEvent.

Я знаю, что события действительно вызывают проблемы, но я редко использую его.

0
ответ дан JonH 21 August 2018 в 03:45
поделиться
  • 1
    Проблема в том, что я делаю панель видимой в начале события. Сделайте вызов веб-службы, а затем скройте панель. Я должен поставить DoEvents после панели1.visible = true; чтобы фактически отобразить его, пока вызывается веб-сервис. – Scott Chantry 13 October 2009 в 20:58

Событие DateTimePicker ValueChanged является ошибкой. В Microsoft Windows Forms Team на этой странице https://connect.microsoft.com/VisualStudio/feedback/details/1290685/debugging-datetimepicker-event-hangs-vs :

«Элемент управления DateTimePicker устанавливает крючок мыши как часть его функциональности, но когда отладчик имеет приложение WinForms, остановленное на точке останова, это позволяет использовать тупик, если VS-сервер получит сообщение мыши. На данный момент, к сожалению, тупик следствием дизайна DateTimePicker.Контроль мыши устанавливается при нажатии на раскрывающийся список, чтобы отображать календарь. Это означает, что точки останова не должны отправляться в обработчиках событий, которые будут вызываться во время активного календаря. В настоящее время мы изучаем, можно решить эту проблему, и мы обновим этот поток с дополнительной информацией, если мы сможем сделать исправление доступным ».

2
ответ дан jshockwave 21 August 2018 в 03:45
поделиться
Другие вопросы по тегам:

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