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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2009, 23:49   #1
i-cpp
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 33
Вопрос Можно ли работать с кнопками Button как с массивом кнопок?

Пишу на VC++2008. Можно ли работать с кнопками Button как с массивом (двумерным). Хочется сделать что-то вроде таблицы кнопок и изменять их свойства при нажатии. Если можно, с небольшим примером.
Если такого сделать не получится, посоветуйте другой вариант, при котором можно добиться того же результата.
i-cpp вне форума Ответить с цитированием
Старый 06.12.2009, 00:37   #2
i-cpp
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 33
По умолчанию

похоже сам разобрался
Код:
const int s = 10;
array<Button^, 2>^ btnArray = gcnew array<Button^, 2>( s, s );
btnArray[0,0] = gcnew Button();
i-cpp вне форума Ответить с цитированием
Старый 06.12.2009, 03:04   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Я как понимаю это С++/КЛР
Да можно
Объявляешь просто тип массива скажем кнопки
array<System.Windows.Forms.Buttom^ > massButtom;
Создаете когда вам нужно элемент кнопка
massButtom= gcnew array<System.Windows.Forms.Buttom^ > (2){Buttom1, Buttom2}
ну и задаете какие нужны свойства и все)

Последний раз редактировалось dampirik; 06.12.2009 в 03:07.
dampirik вне форума Ответить с цитированием
Старый 06.12.2009, 13:00   #4
i-cpp
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 33
По умолчанию

dampirik, оказалось всё просто

Последний раз редактировалось i-cpp; 06.12.2009 в 20:31.
i-cpp вне форума Ответить с цитированием
Старый 25.09.2010, 05:28   #5
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

Здравствуйте, кнопку создать получается, вот только при выставлении свойств ругается, делаю так:

Код:
...
private: array<System::Windows::Forms::Button^>^ button;
...
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
button = gcnew array<System::Windows::Forms::Button^>(1);
button[0] = gcnew Button();
Button[0]->Location = System::Drawing::Point(10, 25); //Вот тут ругается на синтаксические ошибки и на пустой блок атрибута.
Controls->Add(this->button[0]);

}
Пробовал и Button(1)->Location и Button->Location, всеравно ругается
Если эту строчку удалить, то кнопка создастся с координатами Х=0; Y=0; (Причем проверял координаты так:
Код:
this->Text =  (button[1]->Location).ToString();
Почему не позволяет таким способом задать координаты, но позволяет их получить - мне не понятно.
Для простой, не массивной кнопки все успешно задается, подскажите, как исправить?

И если не затруднит, то можете выложить аналог этого кода:
Код:
Delphi:

procedure TForm1.FormCreate(Sender: TObject);
var
b:array [1..10] of TButton;
i:integer;
begin
for i:=1 to 10 do
begin
b[i]:=TButton.Create(Form1);
b[i].Parent:=Form1;
b[i].left:=25;
b[i].top:=I*25;
end;
Только для С++.

По идее должно получиться примерно так:
Код:
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
for (int i = 0; i < 10; i++){
button = gcnew array<System::Windows::Forms::Button^>(i+1);
button[i] = gcnew Button();
Button[i]->Location = System::Drawing::Point(10, i*25);
Controls->Add(this->button[i]);
}
Но Button[i]->Любой параметр и VS2010 начинает ругаться, хотя получить например:
Код:
Text = (button[i]->BackColor).ToString()
и т.д. можно.
Я С++ только начал изучать и пока не могу понять как правильно сделать

Последний раз редактировалось ZBEP; 25.09.2010 в 07:13.
ZBEP вне форума Ответить с цитированием
Старый 25.09.2010, 19:57   #6
userdab
Пользователь
 
Регистрация: 04.09.2010
Сообщений: 28
По умолчанию

С кнопками, которые уже есть на форме можно работать, как в примере
userdab вне форума Ответить с цитированием
Старый 25.09.2010, 22:29   #7
ZBEP
Форумчанин
 
Аватар для ZBEP
 
Регистрация: 23.03.2009
Сообщений: 334
По умолчанию

userdab, Спасибо! Много полезного в примере написано.
Сейчас поподробнее попробую разобраться.

Блин, проблема была в написании button, объявлял button, а свойства хотел задать Button ))
Забыл, что в С это имеет значение

Последний раз редактировалось ZBEP; 26.09.2010 в 10:28.
ZBEP вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание кнопок 3D Active Button Magic aiswork Софт 1 28.05.2009 00:53
Как работать с массивом кнопок Betmen Общие вопросы Delphi 3 05.03.2009 08:53
Как работать с массивом компонентов dardreams Компоненты Delphi 18 04.03.2009 10:09
Как работать с массивом Edit-ов subsonic Общие вопросы Delphi 3 02.03.2009 07:36
как правильно работать с массивом TStrings Air Общие вопросы Delphi 6 19.12.2007 17:55