none
Доступ к компонентам на динамически созданной форме (на C++) RRS feed

  • Вопрос

  • Я создал динамически новую форму, затем разместил на ней чекбокс и DateTimePicker. Сделал обработчик у чекбокса CheckedChanged. 
    Нужно, чтобы при установке галочки в чекбоксе в DateTimePicker прописалась дата, например 01/01/2000. 

    Вот код, создающий форму и компоненты на ней:

    Form^ form_map_maker = gcnew Form; // создаем форму
    form_map_maker->Size = System::Drawing::Size(330, 250);// устанавливаем размер формы
    form_map_maker->StartPosition = FormStart //определяем начальное положение формы
    form_map_maker->FormBorderSt yle = System::Windows::Forms::FormBorderStyle::FixedDialog; // определяем стиль формы (модальное, изменяемое по размеру и т.п.)
     
    DateTimePicker^ dateTimePicker1_map_maker = gcnew DateTimePicker; // создаем компонент dateTimePicker1_map_maker
    dateTimePicker1_map_maker->Location = Point(5,75); // определяем положение dateTimePicker1_map_maker на форме
    form_map_maker->Controls->Add( dateTimePicker1_map_maker ); // добавляем dateTimePicker1_map_maker на форму
    
    CheckBox^ checkBox1_map_maker = gcnew CheckBox; // создаем компонент checkBox1_map_maker
    checkBox1_map_maker->Location = Point(160,75); // определяем положение checkBox1_map_maker на форме
    checkBox1_map_maker->Checked = false; // убираем "галочку"
    checkBox1_map_maker->CheckedChanged += gcnew System::EventHandler(this, &Form1::checkBox1_map_maker_CheckedChanged); // добавляем обработчик события при изменении "галочки"
    form_map_maker->Controls->Add( checkBox1_map_maker ); // добавляем checkBox1_map_maker на форму
     
    form_map_maker->ShowDialog(); // показываем форму как модальное окно;

    Вот обработчик для чекбокса:

    private: System::Void checkBox1_map_maker_CheckedChanged(System::Object^  sender, System::EventArgs^  e)
    {
         CheckBox ^Ctrl_checkbox = dynamic_cast<CheckBox^>(sender);
         if (Ctrl_checkbox->Checked == true)
             {
                          // Как вот тут изменить значение Value у dateTimePicker1_map_maker??? 
              }
    }

    Как изменить значение Value у DateTimePicker?
    Что-то типа  

    xxxxxxx->Value = DateTime(2000, 1, 1, 0, 0, 0);
    должно быть, но что вместо хххххх???

    Помогите пожалуйста!

    13 декабря 2013 г. 12:24

Ответы

Все ответы