Ответы пользователя по тегу Windows Forms
  • Как убрать отступы текста в кнопке?

    gdt
    @gdt
    Программист
    В первую очередь в такой ситуации имеет смысл уменьшить Padding до 0 для всех четырёх сторон.
    Если этого недостаточно - тут Reduce Padding Around Text in WinForms Button собрано несколько вариантов решения вашей проблемы.
    Ответ написан
    Комментировать
  • Как сделать уровни сложности для игры Угадай число C# Windows Forms?

    gdt
    @gdt
    Программист
    Смотрите, для того, чтобы угадать число, нужно его сначала загадать.
    Вы сами понимаете, чем различаются уровни сложности - а именно, диапазоном загадываемых значений.
    То есть, если подумать (никогда бы не подумал что над этим нужно думать) - вам нужно генерировать числа из разных диапазонов, в соответствии с уровнем сложности.
    Сначала нужно определиться, какие у вас будут уровни сложности - проще всего завести новый enum:
    enum Level
    {
        Easy,
        Normal,
        Hard,
    }


    Далее, вам необходимо как-то представлять свой диапазон. Можно сделать массив на два элемента, можно использовать кортеж, но мы создадим новую сущность под это дело:

    class Range
    {
        public Range(int min, int max)
        {
            Min = min;
            Max = max;
        }
    
        public int Min { get; }
        public int Max { get; }
    }


    Далее, нужно как-то связать наши уровни сложности и диапазоны. Тут не будем усложнять, пусть будет просто метод:

    private static Range GetRange(Level level)
    {
        switch (level)
        {
            case Level.Easy: return new Range(0, 10);
            case Level.Normal: return new Range(0, 50);
            case Level.Hard: return new Range(0, 100);
        }
    }


    Теперь осталось только сгенерировать случайное число, для этого вам нужен генератор случайных чисел, и метод, собственно генерирующий числа на основе уровней сложности.
    Добавляете в свой класс поле, помним о том, что Random непотокобезопасный (вряд ли это проблема в вашем случае, но знать надо):
    private static readonly Random = new Random();
    Добавляете метод, генерирующий числа:
    private static int GenerateNumber(Level level)
    {
        var range = GetRange(level);
        return Random.Next(range.Min, range.Max);
    }


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

    Как видите, если подумать - ничего сложного тут нет, всё дело техники.
    Ответ написан
    Комментировать