|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
|
Создать форму, создать в ней таблицу, которая по нажатию кнопки заполнялась случайными числами20.02.2009, 15:01. Показов 11558. Ответов 27
Метки нет (Все метки)
Доброе время суток.
Я был бы очень благодарен тем, кто поможет мне разобраться с вот такой задачей. Задача такая: 1. Создать форму, создать в ней таблицу, которая по нажатию кнопки заполнялась случайными числами (выборка из 100 значений). 2. Затем, каким образом я бы смог воспользоваться полученными значениями из таблицы для расчета, допустим, средней величины в отдельном поле типа textbox. Помогите плз с кодом, желательно с комментарием, чтобы я смог разобраться что к чему. ПС: я ,можно сказать, чайник пытающийся решить эту задачу по faq, поиску, форумам... Спасибо.
0
|
|
| 20.02.2009, 15:01 | |
|
Ответы с готовыми решениями:
27
Как создать форму по нажатию кнопки? |
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
|
| 22.02.2009, 13:08 | |
|
Создать новый проект в студии типа Windows Forms Application. Появится форма. На нее перетащить из ToolBox элемент DataGridView. MSDN есть пример работы с таблицей.
0
|
|
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
|
| 22.02.2009, 17:52 [ТС] | |
|
Спасибо, но я уже это сделал и грызу MDSN, только пока безуспешно. Есть ли примерный кусок/отрывок кода, который бы заполнял бы ДатаГрид случайными числами?
0
|
|
|
13 / 13 / 3
Регистрация: 21.02.2009
Сообщений: 31
|
||||||
| 22.02.2009, 21:23 | ||||||
|
Привет!
Предлагаю заполнять двумерный массив, и обрабатывать его, например, так:
чтобы разобраться как все работает - поотлаживай код. когда разберешься с этим, тогда уже и про грид легче будет!
0
|
||||||
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
||
| 22.02.2009, 23:15 [ТС] | ||
|
Я пока пошаманю с одномерным массивом. Есть ли у кого вариант как можно подсчитать среднию величину всех чисел?
0
|
||
|
13 / 13 / 3
Регистрация: 21.02.2009
Сообщений: 31
|
|
| 22.02.2009, 23:25 | |
|
странный вопрос! если массив одномерный, зачем тогда таблица?
средняя величина, это которая равна сумме всех чисел, и деленная на их количество?
0
|
|
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
||
| 22.02.2009, 23:47 [ТС] | ||
|
Ну вопрос странный, тк я же пока начинающий. Сначала с одним освоюсь, потом спрошу как таблицу делать. Добавлено через 18 минут 43 секунды Хм, у меня возникли некие проблемы с выводом результата в listBox. VS Ругается. Я сделал вот, что: -По предложенному коду evnik'a сформирован двумерный массив. -По нажатию кнопки listbox (lstRandom) должен заполнится -В конце кода я прописал в эту строчку: "lstRandom.Items.AddRange(array.ToString );" VS говорит что в этой строчке 2 ошибки: 1) "Ошибка 1 Наиболее подходящий перегруженный метод для "System.Windows.Forms.ListBox.ObjectColl ection.AddRange(System.Windows.Forms.Lis tBox.ObjectCollection)" имеет несколько недопустимых аргументов. 2)Ошибка 2 Аргумент "1": преобразование типа из "группа методов" в "System.Windows.Forms.ListBox.ObjectColl ection" невозможно. Вопрос: Каким образом мне от них избавится (как правильно переправить код)?
0
|
||
|
13 / 13 / 3
Регистрация: 21.02.2009
Сообщений: 31
|
|
| 23.02.2009, 00:13 | |
|
Во-первых, массив как ты правильно заметил двумерный, а ты его пытаешься запихать в ListBox который содержит одномерный список.
Во-вторых, в C# методы (такие как ToString) пишутся со скобками, даже если они без параметров. В-третьих, применив ToString к массиву ты не получишь массива строк и AddRange ждет именно массив. Выходом здесь является перебор массива и вставка каждого элемента в ListBox по-одному, с преобразованием каждого в строку.
0
|
|
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
||
| 23.02.2009, 00:19 [ТС] | ||
|
Похоже и с выводом у меня проблемы. Помагите, плз.
0
|
||
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
||||||
| 23.02.2009, 00:53 | ||||||
|
Вот состряпал один из вариантов решения с использованием DataGridView:
1
|
||||||
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
||
| 23.02.2009, 01:07 [ТС] | ||
ПС: по косточкам буду разбирать код...думаю правда уже не сегодня.
0
|
||
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
||||||||||||
| 23.02.2009, 01:23 | ||||||||||||
П.С. вот несколько доработанный код:
0
|
||||||||||||
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
|
| 23.02.2009, 01:52 [ТС] | |
|
Пока я не уснул, спрошу:
1. Форма с элементами - 1)lable 2)DataGridView 3)setbtn ; Так? 2. Что означают "+=" 3. что делает это: 1) label.Location = new Point(setbtn.Right + 20, setbtn.Top); ? -------------------2) ((DataGridView)bt.Parent.Controls[0])[a, b].Value = ar[a, b]; -------------------3)# [STAThread] # static void Main() { # Application.EnableVisualStyles(); # MyForm mf1 = new MyForm(); # MyForm mf2 = new MyForm(); # mf2.Show(); # Application.Run(mf1); # } Я пока пытаюсь просто передрать то что вы написали, но у меня вылетают такие ошибки: 1)Ошибка 1 Для программы test6.exe" определено несколько точек входа: "test6.MyForm.Main()". Компиляция с /main позволит указать тип, содержащий точку входа. 2) Ошибка 2 Для программыtest6.exe" определено несколько точек входа: "test6.Program.Main()". Компиляция с /main позволит указать тип, содержащий точку входа. 3)Ошибка 3 "test6.Form1.Dispose(bool)": не найден метод, пригодный для переопределения test6\Form1.Designer.cs Спасибо Вот. Завтра буду дальши че-то пытаться...
0
|
|
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
|
| 23.02.2009, 02:15 | |
|
Код 100% рабочий. Я его скомпилировал и проверил работоспособность. Судя по всему у тебя есть класс Program в котором определен Main плюс мой класс MyForm его тоже содержит. Лучше всего создай новый проект Windows Forms App. удали program.cs и form.cs, добавь пустой файл с кодом и вставь туда мой код.
1. Форма с элементами - 1)lable 2)DataGridView 3)setbtn ; Так? - да. Окно, содержит три єлемента. 2. Что означают "+="- добавляет обработчик FillGrid в цепочку обработчиков события Click кнопки. 3. что делает это: 1) label.Location = new Point(setbtn.Right + 20, setbtn.Top); - помещаем лейбл на 20 точек правее кнопки и на том же уровне что кнопка по оси y. 2) ((DataGridView)bt.Parent.Controls[0])[a, b].Value = ar[a, b]; - так мы(ну так я придумал - сам новичок, ничего лучшего в голову не пришло) обращаемся к DataGridView на форме, которая является родителем для кнопки, кот. мы нажали, через свойство Controls[0] - т.к. DataGridView добавили туда первым. 3)[STAThread] - "Microsoft заявляет, что это свойство должен иметь метод Main() в каждой Windows программе." Г. Шилдт
1
|
|
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
|||
| 23.02.2009, 12:30 [ТС] | |||
|
Сделал, как ты скзал. Добавил файл с текстом программы "CodeFile1.cs", вставил туда твой код, запустил построитель и ему не нравится:
1) первые три строчки 2)c 55 -62 строчки Если все это закоментировать то он говорит что: Ошибка 1 Не удалось найти имя типа или пространства имен "EventArgs" (пропущена директива using или ссылка на сборку?) Теперь я перестал понимать как это должно вообще все выглядеть. Вот что бы я хотел узнать: 1. При таком коде нужна ли форма с элементами? 2. Если да то какими именами их обзывать? (я из кода так и не понял что к чему) 3. как обозвать форму? Спасибо. Добавлено через 16 минут 24 секунды Теперь можно объяснить как так..... 1.Код прописан в форме и он сам создает все элементы. Как так? А если их из Tools добавить то что меняется? Спасибо. Добавлено через 9 минут 0 секунд ((DataGridView)bt.Parent.Controls[0])[a, b].Value = ar[a, b]; "Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции. Имя параметра: index " 2. Как ее побороть?
0
|
|||
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
||
| 23.02.2009, 14:56 | ||
|
В общем нужно так: ((DataGridView)bt.Parent.Controls[0])[b, a].Value = ar[a, b]; 1.Код прописан в форме и он сам создает все элементы. Как так? А если их из Tools добавить то что меняется? Ну а что тут странного? Все вполне логично. Т.е. каждый элемент создаем программно при небольшом их количестве это вполне удобно. Если перетащить из тулбокса то мастер сам пропишет весь нужный код(по размещению элементов и заданию им нужных свойств). Все это он сделает внутри функции которую потом нужно будет вызвать. В WinForms я сам новичок, посему пока пишу лишь небольшие программки и все элементы создаю кодом.
1
|
||
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
||||||
| 23.02.2009, 15:38 [ТС] | ||||||
|
Разобрался. Переделал немного код под свой лад, перетащив изначально все нужные tools. Получился код:
1. Как заставить выводится числам как и втоем ваианте Feuer? 2. Допустим что разобрался с "1", то теперь нужно: -массив 100х1 (100 строк, 1 столбец) -таблица 100х2 (2 столбца по 100 строк) -во втором столбце возводится каждое число 1-го столбца в "n" степень; Можно ли такое сделать и как будет выглядеть цыкл для подсчета степени?
0
|
||||||
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
||
| 23.02.2009, 17:18 | ||
|
2. Ну так а что тут сложного?? Ну хотя бы так: for(int a=0; a<1000; a++) { ar[a, 0] = a; ar[a, 1] = Math.Pow((double)a, 3); }
1
|
||
|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
|
| 23.02.2009, 17:21 [ТС] | |
|
0
|
|
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
||
| 23.02.2009, 17:40 | ||
|
0
|
||
| 23.02.2009, 17:40 | |
|
Помогаю со студенческими работами здесь
20
Программно создать форму, кнопки на ней и сохранить в проекте
Создать матрицу 5х5; написать функцию, которая заполнит его случайными числами от 30 до 60 создать таблицу базы данных в Accesse.Определить связи между табл.один ко многим.Создать форму.Создать 3 запроса и не менее двух отчётов.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|