none
Windows Form RRS feed

  • Вопрос

  • Добрый день! Имеется код программы. Его нужно реализовать в  Windows Form, но из-за плохого знания языка не получается сделать так, чтобы после ввода N выскакивало столько же textbox для ввода чисел  сколько ввел N. Можете что-нибудь посоветовать?
    int b, w;
                int g = 0;
    
                do
                {
    
                    Console.WriteLine("-Нажмите 1 и Enter для ввода чисел ");
    
                    Console.WriteLine("-Нажмите 2 и Enter для просмотра задания ");
    
                    Console.WriteLine("-Нажмите 3 и Enter для входа во внутреннее меню ");
    
                    Console.WriteLine("-Нажмите 4 и Enter для выхода из программы ");
    
                    g = Convert.ToInt32(Console.ReadLine());
    
                    switch (g)
                    {
    
                        case 1:
                            Console.Clear();
                            Console.WriteLine("Введите N:");
    
                            g = Convert.ToInt32(Console.ReadLine());
    
                            int k = 0, c = 0;
                            for (int i = 0; i < g; i++)
                            {
                                Console.WriteLine("Введите " + i.ToString() + " число:");
                                var temp = Convert.ToInt32(Console.ReadLine());
                                if ((temp % 5 == 0) && (temp % 7 != 0))
                                {
                                    k++;
                                    c += temp;
                                }
    
                            }
                            Console.WriteLine("Кол-во: " + k.ToString());
                            Console.WriteLine("Сумма: " + c.ToString());
                            Console.ReadKey(); break;
    
                        case 2:
                            Console.Clear();
                            Console.WriteLine("Найти количество и сумму тех n, которые делятся на 5 и не делятся на 7."); break;
    
                        case 3:
                            Console.Clear();
                            do
                            {
                               
                                Console.WriteLine("-Нажмите 1 и Enter для просмотра примера решения задания ");
    
                                Console.WriteLine("-Нажмите 2 и Enter для просмотра задания ");
    
                                Console.WriteLine("-Нажмите 3 и Enter для выхода во внешнее меню ");
    
                                w = Convert.ToInt32(Console.ReadLine());
    
                                switch (w)
                                {
    
                                    case 1:
                                        Console.Clear();
                                        Console.WriteLine("Введите N:");
                                        Console.WriteLine("5");
                                        Console.WriteLine("Введите 0 число:");
                                        Console.WriteLine("5");
                                        Console.WriteLine("Введите 1 число:");
                                        Console.WriteLine("18");
                                        Console.WriteLine("Введите 2 число:");
                                        Console.WriteLine("28");
                                        Console.WriteLine("Введите 3 число:");
                                        Console.WriteLine("30");
                                        Console.WriteLine("Введите 4 число:");
                                        Console.WriteLine("40");
                                        Console.WriteLine("Кол-во: 3");
                                        Console.WriteLine("Сумма: 75"); break;
                                    case 2:
                                        Console.Clear();
                                        Console.WriteLine("Найти количество и сумму тех n, которые делятся на 5 и не делятся на 7."); break;
    
                                    case 3:
                                        Console.Clear();
                                        break;
    
                                }
    
                            }
    
                            while (w < 3); break;
    
                    }
    
                }
    
                while (g < 4);


    • Изменено ZEPHYR_123 26 мая 2017 г. 8:54

Ответы

  • Добрый день!

    Хотелось бы, во-первых, сказать, что приведенный код еще не дает вам гарантии, что вас поймут.

    Минимальное описание про то, что вы хотите, тоже осложняет адекватную помощь.

    Как я понял:

    Вы принимаете рандомное количество чисел и сразу же делаете оперцации с ними. Привели пример консольного приложения, которое прекрасно работает. 

    И хотите, чтобы эта же логика работала в виндовс форм и возникало рандомное количество текстбоксов.

    Вопрос: почему хотя бы вашу попытку с виндовс формс сюда не кинули?

    _______________________________________________________________________________

    Если вопрос только с добавлением текстбокса, то вам сюда:

    http://www.c-sharpcorner.com/blogs/generate-textbox-dynamically-at-runtime-in-windows-form-application1

    или

    https://stackoverflow.com/questions/15008871/how-to-create-many-labels-and-textboxes-dynamically-depending-on-the-value-of-an

    ----------------------------------------------------------------------------------------------------------------------

    Или вы хотите чего-то большее?


    • Изменено skynet-kazan 26 мая 2017 г. 11:28
    • Помечено в качестве ответа ZEPHYR_123 26 мая 2017 г. 11:35

Все ответы

  • Добрый день!

    Хотелось бы, во-первых, сказать, что приведенный код еще не дает вам гарантии, что вас поймут.

    Минимальное описание про то, что вы хотите, тоже осложняет адекватную помощь.

    Как я понял:

    Вы принимаете рандомное количество чисел и сразу же делаете оперцации с ними. Привели пример консольного приложения, которое прекрасно работает. 

    И хотите, чтобы эта же логика работала в виндовс форм и возникало рандомное количество текстбоксов.

    Вопрос: почему хотя бы вашу попытку с виндовс формс сюда не кинули?

    _______________________________________________________________________________

    Если вопрос только с добавлением текстбокса, то вам сюда:

    http://www.c-sharpcorner.com/blogs/generate-textbox-dynamically-at-runtime-in-windows-form-application1

    или

    https://stackoverflow.com/questions/15008871/how-to-create-many-labels-and-textboxes-dynamically-depending-on-the-value-of-an

    ----------------------------------------------------------------------------------------------------------------------

    Или вы хотите чего-то большее?


    • Изменено skynet-kazan 26 мая 2017 г. 11:28
    • Помечено в качестве ответа ZEPHYR_123 26 мая 2017 г. 11:35
  • Нет, спасибо. Первой ссылкой вы ответили на мой вопрос.

  • Только вместо прибавления 20 пикселов к Y-координате используйте FlowLayoutPanel. Она может автоматически расположить элементы с подходящим расстоянием независимо от DPI на целевой системе, а также перенести на другой столбец если они не поместятся по высоте.