реклама на сайте
подробности

 
 
> Изменить имя texbox при выполнение программы
sergey sva
сообщение Jan 27 2009, 19:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Имеется много TexBox из них нужно записывать в переменную, хотелось как то покомпактнее это написать,
Пришла такая мысль :
Код
for(int i = 0; i < 12; i++){BuferIn[i] = System::Convert::ToInt16( maskedTextBox##i->Text);

Может есть похожий способ, или придется все таки писать так:
BuferIn[0] = System::Convert::ToInt16( maskedTextBox1->Text);
BuferIn[1] = System::Convert::ToInt16( maskedTextBox2->Text);
...

Сообщение отредактировал sergey sva - Jan 27 2009, 19:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
demiurg_spb
сообщение Jan 27 2009, 21:31
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Я что-то проблему не осознал.
Вы что не можете массив указателей MaskedTextBoxes[] создать и пробегать по нему в цикле?
BuferIn[i] = ToInt16( MaskedTextBoxes[i]->Text);


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jan 27 2009, 22:00
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



может есть пример? vS2008 express
Это гдето здесь нужно сделать ?
CODE

protected:
/// <summary>
/// Освободить все используемые ресурсы.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox1;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox2;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox3;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox4;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox5;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox6;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox7;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox8;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox9;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox10;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox11;
private: System::Windows::Forms::MaskedTextBox^ maskedTextBox12;
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 28 2009, 10:38
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(sergey sva @ Jan 28 2009, 01:00) *
может есть пример? vS2008 express
Это гдето здесь нужно сделать ?

Я с vS2008 express как и с С# не работал. Но принцип тот же должен быть что и C++.
Создаёте член класса - массив указателей на объекты MaskedTextBox:
Код
    private: System::Windows::Forms::MaskedTextBox^  maskedTextBoxes[N];

В конструкторе этого класса его инициализируете
Код
    maskedTextBoxes[1] = MaskedTextBox1;
    maskedTextBoxes[2] = MaskedTextBox2;
    ...
    maskedTextBoxes[N] = MaskedTextBoxN;
Ну и далее обрабатываете всё это дело в цикле for (...) var[i] = maskedTextBoxes[i]->поле;

Можно наверное сразу создать лишь массив указателей на MaskedTextBox, без использования индивидуальных указателей MaskedTextBoxN
В конструкторе:
Код
maskedTextBoxes[i] = new System::Windows::Forms::MaskedTextBox(параметры если нужно);

Примерно так.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 08:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016