System.ArgumentException было необработанным при использовании - = на делегате события? - PullRequest
1 голос
/ 14 февраля 2010

У меня есть этот код:

public void setPanelHalfHorizontalScreen(Panel p)
        {
            if (p != null)
            {
                p.Width = Screen.PrimaryScreen.Bounds.Width / 2 - 2;
                this.panelsForHalfScreen.Add(p.Name, p);

                // /1963914/vypolnyaetsya-li-sobytie-dvazhdy-esli-obektu-dvazhdy-byl-naznachen-obratnyi-vyzov
                this.form.Resize -= new EventHandler(form_Resize); // error raised on this line: ArgumentException was unhandled
                this.form.Resize += new EventHandler(form_Resize);
            }
        }

        void form_Resize(object sender, EventArgs e)
        {

            foreach (DictionaryEntry p in panelsForHalfScreen)
            {
                this.setPanelHalfHorizontalScreen((Panel)p.Value);
            }
        }

Как я могу это исправить?

EDIT alt text

1 Ответ

1 голос
/ 14 февраля 2010

Вы уверены, что эта строка не выдает ArgumentException?

this.panelsForHalfScreen.Add (p.Name, p);

причина: метод Add создает исключение ArgumentException, если ключ уже находится в Hashtable

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