Ошибка поля со списком для моего приложения Windows Form - PullRequest
1 голос
/ 25 ноября 2011

В настоящее время я разрабатываю службу подписки на публикации WCF для моего издателя asp.net и подписчика приложения windows form.

Для приложения формы Windows я бы использовал панель макета потока для генерации списка панелей (уведомлений) для моего приложения.Когда издатель (приложение asp.net) публикует сообщение в службе, каждый подписчик сможет получать информацию и соответствующим образом обновлять свои панели.Что касается моей панели Flowlayout, у меня есть ComboBox для фильтрации типов уведомлений, в основном типа 1 и 2.

код для предупреждения ComboBox

private void comboAlertType_SelectedIndexChanged(object sender, EventArgs e)
{
  flowLayoutForAlert.Dispose();

  populateList();
  if (comboAlertType.SelectedIndex == 0)
  {
    flowLayoutForAlert = createFlowLayoutPanel(1);
  }
  else if (comboAlertType.SelectedIndex == 1)
  {
    flowLayoutForAlert = createFlowLayoutPanel(2);
  }
  else
  {
    flowLayoutForAlert = createFlowLayoutPanel(3);
  }
  this.Controls.Add(flowLayoutForAlert);
}

createFlowlayoutpanel (#)просто метод для меня, чтобы создать панели.Целое число внутри обозначает тип показанных панелей, в основном 1 для каждой отдельной панели, 2 для важных и 3 для обычных.

для моего метода обратного вызова PostReceived () для службы wcf, у меня есть следующееcode

public void PostReceived(String alertId)
{
  backgroundForm b = (backgroundForm) Application.OpenForms[0];

  b.BeginInvoke((MethodInvoker)delegate()
  {
      b.getMainFormObject().lblSearch.Text = "lakjslkaja";
      b.getSettingsFormObject().player.Play();
      b.getMainFormObject().notificationList.Add(new notificationForm("", "", "", "", "", "", 1, 1));
      b.getMainFormObject().populateList();
      b.getMainFormObject().mainFormLoad();
  });
}

код mainFormLoad:

public void mainFormTesting()
{
  notificationForm tempForm = (notificationForm)notificationList[0];
  tempForm.Show();

  flowLayoutForAlert = createFlowLayoutPanel(1);
  this.Controls.Add(flowLayoutForAlert);
}

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

Кто-нибудь может решить эту проблему?

1 Ответ

0 голосов
/ 04 декабря 2011

Удалось решить эту проблему, сначала утилизировав оригинальные панели, прежде чем вызывать коды выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...