Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 19:44   #1
levandowskiy
Пользователь
 
Регистрация: 18.08.2009
Сообщений: 32
По умолчанию Создание массива объектов типа Label

Здравствуйте, уважаемые форумчане!

Продолжаю активно обучаться азам windows forms.

Пришла в голову идея реализовать следующее действо. Пользователь заполняет поля textBox их у меня 6 . по нажатию кнопки textBox переезжают в следующую строку, а в той из которой они уехали должны остаться данные в label.
Я это хочу реализовать создав в программе массив объектов типа Label и потом из этого массива их втыкать в нужное место формы. Возможно ли такое?

Моя попытка такова была:
cli::array<Label^>^ ls; //объявил массив

ls = gcnew array<Label^>(6*i);
for (int m=0; m<6*i; m++)
ls[m] = gcnew Label(); //создал объекты

ls[6*k]->Visible = true;
ls[6*k]->Text = Convert::ToString(mass[k]->N);
ls[6*k]->Location = System::Drawing::Point(textBox17->Location.X, textBox17->Location.Y); // попытался их использовать


Ничего не получилось. И ошибок нет. И лейблы не появляются на форме. Что же делать?
levandowskiy вне форума Ответить с цитированием
Старый 21.12.2010, 02:50   #2
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

Идея нормальная) лейблы не появились потому что ты их не добавил на форму, а только создал в памяти. Открой InitializeComponent формы и посмотри как там добавляются элементы в форму и сделай также) Но я бы создал сначало панель для всего этого а в нее уже добавлял все это (1 раз) а панель бы уже двигал куда надо

ЗЫ: использовать C++/CLI ради одних только окошек помоему извращение ) Проще C#
UltimaBeaR вне форума Ответить с цитированием
Старый 21.12.2010, 06:39   #3
levandowskiy
Пользователь
 
Регистрация: 18.08.2009
Сообщений: 32
По умолчанию

Не могли бы Вы уточнить где и что прописывать InitializedComponent я нашёл, но честно понять не могу как добавить мой массив лейблов на форму
levandowskiy вне форума Ответить с цитированием
Старый 21.12.2010, 15:20   #4
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

Ну вот мой код из формы:

Код:
void InitializeComponent(void)
{
    this->label1 = (gcnew System::Windows::Forms::Label());
    
    this->label1->AutoSize = true;
    this->label1->Location = System::Drawing::Point(202, 122);
    this->label1->Name = L"label1";
    this->label1->Size = System::Drawing::Size(41, 13);
    this->label1->TabIndex = 13;
    this->label1->Text = L"X цели";

    this->Controls->Add(this->label1);
}
Это не полный код, я вытащил только строки которые работают с label1

вот и смотри что выходит - сначало выделяется память под label1, потом устанавливаются нужные свойства ему типо текст, положение и тд, и в конце добавляется на форму он: this->Controls->Add(this->label1);

соответственно прогоняешь через это каждый свой лейбл

ЗЫ: this это ссылка на форму, т.к. метод формы
UltimaBeaR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
формирование массива объектов Sxronjkeee Помощь студентам 9 22.10.2010 14:45
Чтение/запись массива объектов в файл MrBrain Общие вопросы .NET 0 08.06.2010 10:44
Приведение типов массива объектов Arnezami Общие вопросы .NET 3 17.12.2009 11:30
Запись числа типа инт в ячейку двумерного массива типа char AxenicX Помощь студентам 1 25.09.2009 00:35
проблема создания массива объектов Meduzza Общие вопросы C/C++ 3 28.05.2009 05:07