Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
pascal
2 / 2 / 0
Регистрация: 09.11.2011
Сообщений: 62
1

Ограничить область перемещения объекта по форме

02.01.2012, 14:54. Просмотров 1772. Ответов 13
Метки нет (Все метки)

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
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private void timer1_Tick(object sender, EventArgs e)
        {
            pictureBox2.Left = pictureBox2.Left + 1;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
 
 
            { 
                timer2.Enabled = true;
            }
           
            
        }
 
        private void timer2_Tick(object sender, EventArgs e)
        {
            pictureBox2.Left = pictureBox2.Left + 1;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            timer2.Enabled = false;
           
        }
 
        private void pictureBox2_Click(object sender, EventArgs e)
        {
 
        }
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2012, 14:54
Ответы с готовыми решениями:

Ограничить границы перемещения формы.
Как ограничить границы перемещения формы на экране. Пробывал просто если левая позиция < то...

Ограничить область значений переменной
Int32 T = 4;// у нас есть какое то значение public void c() { if (Tune < 800) ...

Не знаю как правильно ограничить область
Сам код класса: class Uzas { public double x; public double y; ...

Ограничить область перемещения рисунка границами формы
Вот который день мучаюсь над игрушкой а все некак невыходит:( текушая проблема как ограничить...

Сделать заднее окно некликабельным или ограничить область перемещения курсора
Собственно такая ситуация: имеется программа с кнопкой "настройки", по нажатию на эту кнопку...

13
Vitall
758 / 538 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
02.01.2012, 15:01 2
C#
1
2
3
4
5
  for (int i = 0; i < this.Location.X; i++)
            {
                System.Threading.Thread.Sleep(100);
                pictureBox1.Location = new Point(i, i);
            }
0
pascal
2 / 2 / 0
Регистрация: 09.11.2011
Сообщений: 62
02.01.2012, 15:09  [ТС] 3
неа не получается мне на picture box 2
0
Casper-SC
Эксперт .NET
3996 / 1910 / 373
Регистрация: 27.03.2010
Сообщений: 5,272
Записей в блоге: 1
02.01.2012, 15:11 4
Цитата Сообщение от pascal Посмотреть сообщение
неа не получается мне на picture box 2
Что не получается? Типа у тебя pictureBox2 и у тебя не получается из-за того, что в приведённом коде pictureBox1? Хотя я думаю с таймером вернее вариант. И теги форматирования кода используй, а то невозможно этот ппц читать.
0
02.01.2012, 15:11
pascal
2 / 2 / 0
Регистрация: 09.11.2011
Сообщений: 62
02.01.2012, 15:15  [ТС] 5
вовще мне нужно чтобы у меня было так :
PictureBox1-Рисунок машины
PictureBox2-Рисунок заднего фона
Но PictureBox2 должна двигаться назад но не ухадила с экрана ( Ну как бы например елки - двигались назад но сама картинка не ухадила с экрана
0
Casper-SC
Эксперт .NET
3996 / 1910 / 373
Регистрация: 27.03.2010
Сообщений: 5,272
Записей в блоге: 1
02.01.2012, 15:18 6
Скинь
Выбери в проекте "Очистить решение". Упакуй в zip или rar (лучше в первый). Выложи сюда на форум, как вложение к сообщению.
проект, попробуем сделать (с ёлками и машиной, или что там у тебя). Создавать всё с нуля неохота. Вот пока есть такой вариант (так как не знал, что нужно вообще по сути):
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
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Timer _timer;
 
        public Form1()
        {
            InitializeComponent();
 
            _timer = new Timer();
            _timer.Interval = 25;
            _timer.Tick += new EventHandler(_timer_Tick);
            _timer.Start();
        }
 
        void _timer_Tick(object sender, EventArgs e)
        {
            pictureBox1.Location = new Point(pictureBox1.Location.X + 1, pictureBox1.Location.Y);
        }
    }
}
0
Vitall
758 / 538 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
02.01.2012, 15:20 7
Цитата Сообщение от Casper-SC Посмотреть сообщение
Типа у тебя pictureBox2 и у тебя не получается из-за того, что в приведённом коде pictureBox1?
Вот проблема так проблема
С таймером конечно лучше ,я с паузой так для простоты написал
0
pascal
2 / 2 / 0
Регистрация: 09.11.2011
Сообщений: 62
02.01.2012, 15:26  [ТС] 8
у меня есть exe может выложить в инет и ты посмотришь ?
0
Vitall
758 / 538 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
02.01.2012, 15:32 9
Выкладывай поглядим
0
Casper-SC
Эксперт .NET
3996 / 1910 / 373
Регистрация: 27.03.2010
Сообщений: 5,272
Записей в блоге: 1
02.01.2012, 15:35 10
Цитата Сообщение от pascal Посмотреть сообщение
у меня есть exe может выложить в инет и ты посмотришь ?
Может исходники? Толку смотреть на эксешник? Хотя выкладывай эксешник, Reflector никто не отменял. Исходники нужны из-за картинок по сути. Проще взять готовые и сделать с ними попробовать, а не сидеть вырезать свои.
0
pascal
02.01.2012, 15:46  [ТС]
  #11
 Комментарий модератора 
Вложение удалено.
Выложите проект, а не экзешник
0
Vitall
758 / 538 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
02.01.2012, 15:59 12
Exe глянул ,успел !
Сейчас чо нить набросаем
0
Casper-SC
02.01.2012, 16:05
  #13

Не по теме:

Короче всё ясно. Удачи.

0
Vitall
758 / 538 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
02.01.2012, 16:38 14
pascal,Смотри ,тебе нужна длинная картинка которая будет служить источником фона .с которого ты будешь брать определенный участок следующим образом
C#
1
2
3
4
5
6
7
8
9
10
11
     int i = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            Bitmap source = new Bitmap("hhh.jpg");//размер должен быть около 500*30 
            Bitmap destination = new Bitmap(100, 30);
            Rectangle region = new Rectangle(i, 0, 100, 30);//продвигаемся на пиксель вперед 
            Graphics srcgr = Graphics.FromImage(destination);
            srcgr.DrawImage(source, 0, 0, region, GraphicsUnit.Pixel);
            pictureBox1.Image = destination; i++;
if(i==400)i=0;//возвращаемся назад
        }
0
02.01.2012, 16:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2012, 16:38

Анимация перемещения объекта (кнопки) по форме
Нужна анимация перемещения к примеру кнопки Button в окне. Как это сделать на C#? На XAML не...

Какое событие происходит когда в форме один объект входит в область другого объекта?
Добрый день форумчане. пытаюсь создать мини-игрульку в С#. В общем PictureBox движется по форме с...

Ограничить область графика
Добрый день. Есть код в MATLAB который строит график нескольких функций. Необходимо ограничить...


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

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

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