|
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
|
|
Создать форму, создать в ней таблицу, которая по нажатию кнопки заполнялась случайными числами20.02.2009, 15:01. Показов 11644. Ответов 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 запроса и не менее двух отчётов.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|