Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
andreasopta
1 / 1 / 0
Регистрация: 20.01.2015
Сообщений: 44
#1

НЕ могу ускорить-замедлить объект( - C#

16.10.2015, 21:26. Просмотров 192. Ответов 3
Метки нет (Все метки)

Хотел написать программу, которая при нажатии кнопки "s" будет замедлять скорость красного квадратика.
Но, увы и ах, красный квадрат никак не хочет замедляться.
код
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
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace animation3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Label label1;
        Timer tmr;
 
        private void Form1_Shown(object sender, EventArgs e)
        {
            Point point1 = new Point();
            label1 = new Label();
            point1.X = 0;
            point1.Y = 0;
            label1.Location = point1;
            label1.Width = 20;
            label1.Height = 20;
            label1.BackColor = Color.FromName("Red");
            this.Controls.Add(label1);
            tmr = new Timer();
            tmr.Interval = 100;
            tmr.Tick += new EventHandler(tmr_Tick);
            tmr.Start();
        }
 
        void tmr_Tick(object sender, EventArgs e)
        {
            Point point = label1.Location;
            point.Y += 1;
            if (point.Y > 250)
                tmr.Stop();
            label1.Location = point;
        }
 
        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.S)
            {
                tmr.Interval -= 10;
               
            }
        }
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2015, 21:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос НЕ могу ускорить-замедлить объект( (C#):

Не могу передать сериализованный объект через сокет - C#
Здравствуйте. Проблема возникла в том, что не получается передать сериализованный класс. Переменную передать получается, а класс, структуру...

Узнать объект, в котором создался другой объект - C#
Есть первый класс, который создает второй класс, код которого ниже. Как мне во втором классе получить ссылку на объект класса, который...

Ускорить/замедлить видео - C# WPF
Как ускорить/замедлить видео типо mediaElement.PlaybackRate тут я меняю у компонента mediaElement, а не у самого видео, само видео у меня...

Не могу передвинуть объект - C# WPF
Я хотел передвинуть мой label1, создал в label1 событие pressDown private void PressMove(object sender, KeyEventArgs e) { ...

Не могу увидеть объект - C++ Builder
Мне нужно из либы вытащить объект. У меня есть MyLib.dll, MyLib.lib, MyLib.exp. Пишу в Builder. Добавил к проекту *.lib. Прописал...

Не могу создать объект - Java SE
Доброго времени суток, не могу понять где моя ошибка и в книге все работало, а у меня нет. Есть два файла System и Start. ...

3
Даценд
Модератор
Эксперт .NET
3700 / 3572 / 1824
Регистрация: 20.04.2015
Сообщений: 6,553
16.10.2015, 22:08 #2
C#
1
2
3
4
5
6
7
8
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 'S' || e.KeyChar == 's')
    {
        if (tmr.Interval > 10) 
            tmr.Interval -= 10;
    }
}
при этом у формы свойство KeyPreview должно быть true
1
ViterAlex
6191 / 3394 / 1032
Регистрация: 11.02.2013
Сообщений: 7,489
Завершенные тесты: 3
16.10.2015, 22:21 #3
Используй KeyDown, вместо KeyPress

Добавлено через 1 минуту
Даценд, твой вариант будет работать только в раскладке с буквой s на данной клавише. В кириллице не сработает, в корейской, арабской и т.п. тоже
2
Даценд
Модератор
Эксперт .NET
3700 / 3572 / 1824
Регистрация: 20.04.2015
Сообщений: 6,553
16.10.2015, 22:34 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
ViterAlex,
проверил, и действительно не работает на русской раскладке
тогда
C#
1
2
3
4
5
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode==Keys.S && tmr.Interval > 10)
            tmr.Interval -= 10;
}
1
16.10.2015, 22:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2015, 22:34
Привет! Вот еще темы с ответами:

Замедлить клавиатуру - Клавиатуры
Здравствуйте,перерыл весь интернет,но так и не нашел ничего.. Вопрос:Можно ли сделать так,чтобы после нажатия любой клавиши,действие...

Замедлить вычисления - C++ WinAPI
Всем доброго время суток! Имеется такая программка: // integr.cpp: определяет точку входа для консольного приложения. // //Проверить...

Не могу добавить объект к множеству - C++
У меня есть функция, которая должна добавить объект в множество которое передается как параметр Была такая, но объект не добавляла: ...

Замедлить время на компьютере - C#
Нужно замедлить время на компьютере, просто чтобы секунды шли в 2 раза длинее, я видел тут есть изменение времени, и вообще реально его...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru