C ++ CLI обработчик событий не сработал - PullRequest
1 голос
/ 21 декабря 2010

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

вот список моих обработчиков событий:

    private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
             }
    private: System::Void exitToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
                 Application::Exit();
             }
private: System::Void aboutToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
             MessageBox::Show("Paul Madsen\nLab 13",
                 "About lab 13", MessageBoxButtons::OK,
                 MessageBoxIcon::Asterisk);
         }

private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) 
         {
             try
             {
                double tmp = Double::Parse(textBox1->Text);
             }
             catch(...)
             {
                 textBox1->ResetText();
             }

         }
private: System::Void textBox2_TextChanged(System::Object^  sender, System::EventArgs^  e) 
         {
             try
             {
                double tmp = Double::Parse(textBox2->Text);
             }
             catch(...)
             {
                 textBox2->ResetText();
             }
         }
private: System::Void textBox1_Enter(System::Object^  sender, System::EventArgs^  e)
         {
             MessageBox::Show("Test",
                 "test", MessageBoxButtons::OK,
                 MessageBoxIcon::Asterisk);
         }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
             double tmp = (Double::Parse(textBox1->Text) - 32) * 5/9;
             textBox2->Text = System::Convert::ToString(tmp);

         }
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
              double tmp = (Double::Parse(textBox1->Text) - 32) * 5/9;
              textBox1->Text = System::Convert::ToString(tmp);

          }

button1_Click работает просто отлично, но button2_Click никогда не срабатывает, даже если они по сути одинаковые. Почему это?

1 Ответ

1 голос
/ 21 декабря 2010

Посмотрите назад к началу файла исходного кода, внутри InitializeComponent (). У вас не должно возникнуть проблем с отображением назначения обработчика событий button1-> Click. Вы видите один для button2-> Click?

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

...