Como definir um manipulador de eventos de um radiobutton classe baixa em uma classe alta?

votos
0

I criar uma sub-classe de grupo de controlo de utilizador. Há dois botões de opção. Eu preciso criar manipuladores de eventos para eles. Eu tenho duas direções para ir. Uma é criar manipuladores de eventos na classe sub e deixar que o manipulador de eventos para alterar uma constante na subclasse. Vou usar uma função para verificar a constante classe sub na classe superior. O outro é para criar manipuladores de eventos na classe superior para os botões de rádio sub-classe. O seguinte é o meu código para o método 1. Nota tenho comentado duas linhas (eles são a criação manipulador de eventos), porque eles estão errados, porque eles criam erros por favor me ajude

    using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Collections;
using namespace System::Collections::Generic;

#include <stdio.h>
#include <stdlib.h>
#using <mscorlib.dll>

            public ref class temp_groupbox: public GroupBox
            {
            public: temp_groupbox(int a, int b, String ^groupboxname){

                          // Create and initialize a GroupBox and two RadioButton controls.
                            //GroupBox^ groupBox1 = gcnew GroupBox;
                            RadioButton^ radioButton1 = gcnew RadioButton;
                            RadioButton^ radioButton2 = gcnew RadioButton;

                          // Add the RadioButtons to the GroupBox.
                            this->Controls->Add( radioButton1 );
                            this->Controls->Add( radioButton2 );

                            this->Location = System::Drawing::Point(a, b);
                            this->Size = System::Drawing::Size(500, 100);
                            this->TabIndex = 0;
                            this->TabStop = false;

                            radioButton1->Name = LradioButton1;
                            radioButton2->Name = LradioButton2;


                            radioButton1->Size = System::Drawing::Size(85, 17);
                            radioButton2->Size = System::Drawing::Size(85, 17);

                            radioButton1->Location = System::Drawing::Point(30, 40);
                            radioButton2->Location = System::Drawing::Point(30, 90);

                            radioButton1->TabIndex = 0;
                            radioButton1->TabStop = true;

                            radioButton2->TabIndex = 1;
                            radioButton2->TabStop = true;

                            radioButton1->UseVisualStyleBackColor = true;
                            radioButton1->CheckedChanged += gcnew System::EventHandler(this, radioButton1_CheckedChanged);
                            radioButton2->UseVisualStyleBackColor = true;
                            radioButton2->CheckedChanged += gcnew System::EventHandler(this, radioButton2_CheckedChanged);

                            this->SuspendLayout();
                            this->ResumeLayout(false);
                            this->PerformLayout();
                }


            public: RadioButton^ radioButton1;
            public: RadioButton^ radioButton2;
            public: int anss;

            void radioButton1_CheckedChanged(Object^ sender, EventArgs^ e)
            {
                anss = 1;
            }

            void radioButton2_CheckedChanged(Object^ sender, EventArgs^ e)
            {
                anss = 2;
            }

            };// end ref class

digite

Publicado 12/04/2012 em 19:37
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Você tem métodos radioButton1_CheckedChangede radioButton2_CheckedChangeddefinido?

void radioButton1_CheckedChanged(Object^ sender, EventArgs^ e)
{
}

void radioButton2_CheckedChanged(Object^ sender, EventArgs^ e)
{
}

Se já existem esses métodos, por favor liste a mensagem de erro que você está recebendo. É difícil descobrir como consertar algo se não sabemos o que está errado.


Você precisa especificar o nome completo da classe do método que você está criando um delegado para, e usar a &tomar o endereço dela.

gcnew System::EventHandler(this, &temp_groupbox::radioButton1_CheckedChanged)
Respondeu 13/04/2012 em 00:07
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more