Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > вопрос по конструктору |
Автор: Yurik 13.11.2005, 17:51 | ||||
Имеется форма, в классе формы я создал матрицу:
Имеется класс, в нем есть конструктор
Компилится нормально, работает нормально, токо вот значения в матрицу из конструктора никак не передаются.... Почему? |
Автор: alir 13.11.2005, 18:29 | ||||
Попробуй так:
|
Автор: Yurik 13.11.2005, 21:45 |
Без толку. У меня закрадывается сомнение, что в конструкторе класса можно выполнять действия ТОЛЬКО с членами этого класса |
Автор: alir 13.11.2005, 22:28 | ||||
Нет. Вот рабочий простенький пример:
|
Автор: Yurik 13.11.2005, 22:50 |
Ты не въехал в смысл: 1) Матрица RG является объектом класса Form1, а не ST. 2) Присвоение fr.RG[1,1]=777 надо проводить не в Main, а в конструкторе... (то бишь при создании объекта класса ST) |
Автор: -ser- 14.11.2005, 03:20 | ||
если я правильно понял, вы хотите в конструкторе класса ST заполнить объект класса Form1. тогда вам не надо создавать новый инстанс класса Form1 в конструкторе ST, а просто передать существующий в параметре конструктора ST.
З.Ы. на всякий случай еще напомню что элементы в массиве начинаются с 0: RG[ 0, 0 ] |
Автор: mr.DUDA 14.11.2005, 10:17 | ||||
Пардон за возможно глупый вопрос, но может быть вы ожидаете, что RG будет присвоен массив из двух элементов типа double со значениями 30 и 30 ? ![]() |
Автор: Yurik 14.11.2005, 14:29 | ||||||
Спасибо!!! Вы ответили на мой вопрос, все работает!
Да, я знаю это досадное недоразумение всех сишных языков. Пробовал даже привыкнуть к этому - бесполезно.... Поэтому я просто не использую (не заполняю) в матрицах нулевую строку и нулевой столбец ![]()
![]() Я, конечно, ламер, но не настолько ![]() Добавлено @ 14:36 Чтоб не заводить отдельную тему, спрошу тут: Visual studio создает такую строчку: [STAThread] Я ее закоментил, ниче не изменилось. Для чего она? |
Автор: Yurik 14.11.2005, 14:59 |
И еще один простенький вопросец: В билдере в классе текстбокс (и не только в нем) есть метод setfocus() Он перекидывает фокус на этот текстбокс. А есть ли аналог в C# ? |
Автор: mr.DUDA 14.11.2005, 16:07 | ||||
Вот ответ: http://forum.vingrad.ru/index.php?showtopic=64244 З.Ы. выберите внизу страницы со списком тем вместо "За последние 30 дней" строку "За всё время" - возможно, ответы на какие-то вопросы находятся на одной из 25 страниц ![]()
Есть: TextBox.Focus() называется. Добавлено @ 16:08 P.S. Модератор: Пожалуйста, один топик - один вопрос. |
Автор: Yurik 14.11.2005, 16:20 |
Большое пасиба ![]() |
Автор: Yurik 15.11.2005, 17:34 | ||||||
Я тут подумал хорошенько: гораздо проще сделать матрицу RG статик:
И из конструктора класса ST обращаться к ней по имени класса Form1 (а не объекта form1)
Такие вот пироги... Никто сразу не сообразил, и я тоже ![]() |
Автор: -ser- 16.11.2005, 01:42 | ||||||
и еще
а за идею со статиком спасибо, а то я что-то всегда заполнял члены одного класса в конструкторе другого. так что иногда и стоит подумать хорошенько. надо будет этим открытием поделиться с mr.DUDA, а то я знаю он всегда через делегаты это делает. и вообще, пора эту тему выносить наверх в выделенную. |
Автор: mr.DUDA 16.11.2005, 08:38 | ||||
ну уж нет ![]()
наверное, торможу с утра... это зачем её прикреплять ? |
Автор: Yurik 16.11.2005, 19:15 |
Да лано, хорошь стебаться ) |
Автор: Exception 16.11.2005, 19:25 |
шо-то я не врубаюсь в пред. посты.. уходим в оффтоп) |
Автор: mr.DUDA 16.11.2005, 22:06 |
Модератор: тема закрыта![]() |