Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
.NET 3.x

Из нескольких TextBox сформировать массив их значений, приведенных к Double

06.01.2012, 09:27. Показов 2036. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим есть 100 текстбоксов засположенных в Гриде размерностью 10х10

Из этих текст боксов нужно вытащить числа (тип Дабл) и задать в массив <-- Вот как это сделать я незнаю

Придумал кусочек кода для этого дела но вот есть проблемка:
C#
1
2
3
4
5
6
7
8
9
int count = 1;
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < n; j++)
    {
        matrix[i,j] = TextBox(А вот сюда надо вставить переменную count).Text;
        count++;
    }
}
вот кто мне скажет как сделать так чтобы номер текстбокса инкрементировался вместе с циклом

PS. Извините что все так размазано объяснил, просто скоро этот проэкт надо сдавать и мозг уже просто на последнем издыхании...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.01.2012, 09:27
Ответы с готовыми решениями:

Запись в файл double нескольких значений
Нужно создать файл double и записать в него 3 введенных числа a, b, c. Как это можно реализовать? Много искал и в итоге по нулям... ...

Запись значений Double в переменные из TextBox
Всем привет, возникла такая проблема я хочу из Textbox1 вывести число с плавающей точкой &quot;или обычное&quot; в переменую double и...

Ввод в TextBox только значений Double
Как мне сделать что бы в текстбокс можно было вводить только цифры и запятую?

14
Заблокирован
06.01.2012, 10:15
возможно, так
C#
1
2
3
4
            int count = 0;//c нуля
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    matrix[i, j] = double.Parse(TextBox[count++].Text);
кода мало, покажите как вы объявляете текстбоксы

Добавлено через 13 минут
если текстбоксы не в динамическом массиве, то примерно так
C#
1
2
3
            foreach (Control c in Controls)
                if(c is TextBox)
                    matrix[count / n, count++ % n] = double.Parse(c.Text);
0
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
06.01.2012, 11:12  [ТС]
TB TB TB
TB TB TB
TB TB TB
Вот примерно так в графическом интерфейсе выглядит таблица (TB - TextBox) нумеруются они самой программой от 1 до 100 (таблица 10 на 10)

Добавлено через 1 минуту
И вот про динамический массив тоже очень интересно, немог бы показать или сслыку дать на то что это такое и с чем едят ))
Заранее СПС
0
Заблокирован
06.01.2012, 11:28
создание примерно так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        const int n = 10;
        TextBox[,] TB = new TextBox[n, n];
        Program()
        {
            //InitializeComponent();
            for(int i =0;i<n;i++)
                for (int j = 0; j < n; j++)
                {
                    TB[i, j] = new TextBox();
                    TB[i, j].Bounds = new Rectangle(i * 20, j * 20, 20, 20);
                    TB[i, j].Parent = this;//возможно здесь датагрид поставить
                }
        }
и тогда
C#
1
2
3
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    matrix[i, j] = double.Parse(TB[i, j].Text);
еще можно по форуму поискать
1
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
06.01.2012, 11:45  [ТС]
Блин, тут трабла выходит, он Баундс и Парент воспринемает как ошибки (((
Че делать? )
0
Заблокирован
06.01.2012, 12:03
что он пишет в ошибках?

файл "Form.cs" удаляли?
(я люблю его удалять и все писать в "
Program.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Drawing;
 
namespace WindowsApplication1
{
    public class Program:Form
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.Run(new Program());
        }
 
        const int n = 10;
        TextBox[,] TB = new TextBox[n, n];
 
        Program()
        {
            InitializeComponent();
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                {
                    TB[i, j] = new TextBox();
                    TB[i, j].Bounds = new Rectangle(i * 20, j * 20, 20, 20);
                    TB[i, j].Parent = this;
                }
        }
 
        private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // Program
            // 
            this.ClientSize = new System.Drawing.Size(750, 548);
            this.Name = "Program";
            this.ResumeLayout(false);
 
        }
    }
}
")
0
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
06.01.2012, 12:26  [ТС]
Нет, я его не удалил, у меня From1.cs и его дезайнер куда вписывать Баунды и Паренты?
0
Заблокирован
06.01.2012, 13:08
Наверное так(я уже не помню, давно Form.cs не использую)
код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        const int n = 10;
        TextBox[,] TB = new TextBox[n, n];
 
        public Form1(string[] args)
        {
            InitializeComponent();
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                {
                    TB[i, j] = new TextBox();
                    TB[i, j].Bounds = new Rectangle(i * 20, j * 20, 20, 20);
                    TB[i, j].Parent = this;
                }
        }
    }
}
0
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
06.01.2012, 13:55  [ТС]
Я так и ввел, а он пишет что Систем.Аррей не содержит определения для Баундс и не найдем метод расширения и тд и тп
И такое же дя Парента...
Причем не важно куда именно я вставляю код...

Есть какой нибудь другой способ без парента или баундс???
0
Заблокирован
06.01.2012, 14:13
Цитата Сообщение от Phat D Посмотреть сообщение
Систем.Аррей не содержит определения для Баундс и не найдем метод расширения и тд и тп
это потому что вы написали
имя_массива.Parent = this;
а нужно в двойном цикле для всех контролов
имя_массива[первый_индекс, второй_индекс].Parent = this;
0
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
06.01.2012, 15:06  [ТС]
Да, действительно, ну я ж говорю - Бошка отрубается, тем более что у меня здесь уже глубокий вечер )))

Добавлено через 2 минуты
Блин, тут еще один косяк, запустил, проэкт откомпилился но птом выделил строчку
C#
1
TB[i, j] = new TextBox();
и написал что в Экземпляре объекта не задана ссылка на объект
Слово new присутствует, объект вроде как не null (это документация посоветовала проверить...)
0
Заблокирован
06.01.2012, 20:53
Цитата Сообщение от Phat D Посмотреть сообщение
Блин, тут еще один косяк, запустил, проэкт откомпилился но птом выделил строчку
TB[i, j] = new TextBox();
и написал что в Экземпляре объекта не задана ссылка на объект
перед этим было описано в области видимости следующее?(да и в "глобальных" это нужно прописывать):
C#
1
2
        const int n = 10;
        TextBox[,] TB = new TextBox[n, n];
и так как выше было указано нужно было бы сделать(с синим подчеркиванием в моих предыдущих постах "скрытый код", чтоб тему не загромождать).

Возможно вы сбросите свой проект, проще будет разобраться(но я на выходных - пас).
0
8 / 11 / 2
Регистрация: 12.03.2011
Сообщений: 27
07.01.2012, 05:23  [ТС]
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
Возможно вы сбросите свой проект, проще будет разобраться(но я на выходных - пас).
Скину, но проблема в том что его сдать надо в понедельник 9 Января...
courseWorkMatrix.zip

Я как бы не настаиваю, но было б ваще супер если я наконец-то смог сдать этот проект...
0
Заблокирован
09.01.2012, 15:29
Нужно было записать так
C#
1
        TextBox[,] TB1 = new TextBox[n, n], TB2 = new TextBox[n, n];
под первый массив текстбоксов тоже нужно выделять память.
В конструкторе формы при инициализации текстбоксов:
C#
1
2
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; i++)//здесь нужно j++
0
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
09.01.2012, 18:36
А можно поинтересоваться, зачем тебе 100 текстбоксов? можно ведь просто DataGridView использовать... для такой задачи его функционала вполне достаточно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2012, 18:36
Помогаю со студенческими работами здесь

Запись значений Double в переменные из TextBox
Здравствуйте! мне очень нужна ваша помощь, мучаюсь уже второй день над таким простым вопросом и ничего не получается( Пишу программу на C#,...

Проверка значений TextBox для записи их в переменную Double
У меня в форме есть 5 текстбоксов, в них вводится число формата Double, мне нужно проверить корректность введенных значений, и если...

Форматирование значений для нескольких TextBox
У меня цикл используется для доумножения значений в соответствующих TextBox For I As Integer = 1 To 40 ...

Перенос значений из нескольких textbox в один общий
Всем привет, такой вопрос. Есть 4 textbox в которых есть значения, и нужно чтобы все эти значения переносились в один общий textbox в...

Функция: продублировать вхождение каждого элемента списка One и сформировать из этих значений список Double
Здравствуйте... При решение данной задачи &lt;В составе программы описать функцию, которая дублирует вхождение каждого элемента списка One и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru