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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2009, 13:19   #11
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Блин, вы хоть смотрите, как вы проект создаете и в какой вкладке находится Windows Forms Application??? Потрудитесь посмотреть и увидите, что это С#
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 05.04.2009, 13:21   #12
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
Ну уж не Visual C++ - это точно!
Именно MS VC++ Только .NET. Так называемый управляемый C++. Попробуйте создать Windows Forms приложение
^ - это что-то вроде "умных" указателей, а вместо new там пишется gcnew. Правда не вижу необходимости в использовании этого гибрида. Уж лучше на C# сразу писать
pu4koff вне форума Ответить с цитированием
Старый 05.04.2009, 13:24   #13
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
Блин, вы хоть смотрите, как вы проект создаете и в какой вкладке находится Windows Forms Application???
Ну у меня во вкладке Visual C++
pu4koff вне форума Ответить с цитированием
Старый 05.04.2009, 13:25   #14
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Ага, все, увидела. Прошу прощения.
И во вкладке С# и во вкладке C++ есть Windows Forms Application.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 05.04.2009, 15:50   #15
PMike
Пользователь
 
Регистрация: 03.04.2009
Сообщений: 29
По умолчанию

pu4koff
Проблема видимо в том, что не все textBox'ы называются так, как надо и в один прекрасный момент в p записывается null, а при попытке выполнить p->Text вылетает ошибка


Видимо вы правы! только я не могу найти свою ошибку! вот мой код:
здесь я попытался изменить текст хотя бы одного текстбокса, и это вызывает ту же самую ошибку...


Код:
//Здесь создается изначальный массив текстбоксов
int m=2, n=2, lx=0, ly=0;
 for(int i=0; i<order; i++) {
  for (int j = 0;j<order;j++) {
   TextBox^ t = (TextBox^)this->Controls["textBox"+(m+n-1).ToString()];
   this->t = (gcnew System::Windows::Forms::TextBox());
   this->t->Location = System::Drawing::Point(50+lx*40, 150+ly*25);
   this->t->Size = System::Drawing::Size(30, 20);
   this->t->Text="0";
   this->Controls->Add(this->t);
   n++;lx++;
 }
 m++;lx=0;ly++;
}

...

m=2;n=2;
this->t->Text = "1"; //здесь я пытаюсь изменить текст первого текстбокса
Как ни странно, меняется текст последнего текстбокса

Последний раз редактировалось PMike; 05.04.2009 в 15:53.
PMike вне форума Ответить с цитированием
Старый 05.04.2009, 17:07   #16
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
TextBox^ t = (TextBox^)this->Controls["textBox"+(m+n-1).ToString()];
Зачем ищите то, чего, как я понимаю, пока нет? К чему эта путаница в именах? Кроме того, Вы значение этой переменной нигде не используете, поэтому не понимаю зачем она вообще нужна.
Назовите её хотя бы tt, чтобы с this->T не путать.
Код:
this->t->Text = "1"; //здесь я пытаюсь изменить текст первого текстбокса
С чего вы взяли, что в t именно первый текстБокс? Там будет последний, т.к. Вы меняете значение переменной в цикле и последним будет создан и соответственно записан в t последний текстБокс.
pu4koff вне форума Ответить с цитированием
Старый 05.04.2009, 17:28   #17
PMike
Пользователь
 
Регистрация: 03.04.2009
Сообщений: 29
По умолчанию

А как сделать так, чтобы в t был первый текстбокс?
PMike вне форума Ответить с цитированием
Старый 05.04.2009, 17:59   #18
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Как-то так:
Код:
//Здесь создается изначальный массив текстбоксов
int m=2, n=2, lx=0, ly=0;
 for(int i=0; i<order; i++) {
  for (int j = 0;j<order;j++) {
   this->t = (gcnew System::Windows::Forms::TextBox());
   this->t->Location = System::Drawing::Point(50+lx*40, 150+ly*25);
   this->t->Size = System::Drawing::Size(30, 20);
   this->t->Text="0";
   this->t->Name = "textBox"+(m+n-1).ToString(); //Задаём имя, чтобы точно оно было правильное и потом нашелся текстбокс
   this->Controls->Add(this->t);
   n++;lx++;
 }
 m++;lx=0;ly++;
}

...
// Изменение текста первого текстбокса
TextBox^ t = (TextBox^)this->Controls["textBox1"]; // Ищем первый текст бокс
t->Text = "1";
pu4koff вне форума Ответить с цитированием
Старый 05.04.2009, 18:34   #19
PMike
Пользователь
 
Регистрация: 03.04.2009
Сообщений: 29
По умолчанию

Большое спасибо! Я понял свои ошибки. У меня была неверная индексация. Также имя нужно было задавать явно.
PMike вне форума Ответить с цитированием
Старый 30.05.2009, 22:37   #20
Gravity_Defied
Новичок
Джуниор
 
Регистрация: 30.05.2009
Сообщений: 2
По умолчанию

Тоже потребовался массив из textBos'ов (для реализации судоку)
Скопировал приведённый тут код:

Код:
int m=2, n=2, lx=0, ly=0;
 for(int i=0; i<order; i++) {
  for (int j = 0;j<order;j++) {
   this->t = (gcnew System::Windows::Forms::TextBox());
   this->t->Location = System::Drawing::Point(50+lx*40, 150+ly*25);
   this->t->Size = System::Drawing::Size(30, 20);
   this->t->Text="0";
   this->t->Name = "textBox"+(m+n-1).ToString(); //Задаём имя, чтобы точно оно было правильное и потом нашелся текстбокс
   this->Controls->Add(this->t);
   n++;lx++;
 }
 m++;lx=0;ly++;
}
Получил два типа ошибок:
error C2039: 't' : is not a member of 'sudoku::Form1'
error C2227: left of '->Size' must point to class/struct/union/generic type

t декларировать надо?
как это примерно выглядеть должно?
опыта нет совсем
Gravity_Defied вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание элемента TextBox в Visual Studio C++ PMike Помощь студентам 8 04.04.2009 15:17
C++ Элемент TextBox Visual Studio PMike Общие вопросы .NET 1 04.04.2009 12:39
Visual Studio 6 Bonder Visual C++ 3 09.12.2008 19:47
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12
Visual J# from Microsoft Visual Studio .NET Flash_ Общие вопросы по Java, Java SE, Kotlin 2 28.12.2006 10:16