Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Появление квадрата в любом месте формы randomoм, случайным образом появляется квадрат 
:(
    Опции темы
Gemfuty
Дата 21.5.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.5.2007

Репутация: нет
Всего: нет



Помогите пожалуйста. Необходимо сделать следующее:
квадрат при нажатии кнопки случайным образом появляется на форме, при следующем нажатии появляется уже в другом месте, то есть предыдущий прямоугольник стирается/исчезает/. т.е ощущение того,будто один и тот же прямоугольник "бегает" по форме.


Заранее Благодарна
PM MAIL   Вверх
KuZyagroup
Дата 22.5.2007, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


magento solution
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 16.4.2007
Где: Kiev

Репутация: нет
Всего: 4



на событие нажатия мышки повесить изменение координат.
Код

private void yourCube_Click(object sender, EventArgs e)
{
     newLocation.X = new Random(this.Size.Width );
     newLocation.X = new Random(this.Size.Height);
     yourCube.Location.X = newLocationX;
     yourCube.Location.Y = newLocationY;
}

если квадрат рисованный ловить клик по форме и проверять по координатам попал ли клик в квадрат, а дальше по аналогии
PM MAIL   Вверх
archeg
Дата 22.5.2007, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Можно вот так 
Код

partial class Form1 : Form
{
        public Form1()
        {
           this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
        }
        Point? coords;
        Random rnd = new Random();
        Size RectSize = new Size(50, 50);
        private void button2_Click(object sender, EventArgs e)
        {
            coords = null;
            this.Invalidate();
            coords = new Point(rnd.Next(this.Width - RectSize.Width), rnd.Next(this.Height - RectSize.Height));
            PaintRect();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            if (coords != null)
            {
                PaintRect();
            }
        }
        private void PaintRect()
        {
            Graphics g = this.CreateGraphics();
            g.DrawRectangle(Pens.Black, coords.Value.X, coords.Value.Y, RectSize.Width, RectSize.Height);
        }
}



--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Gemfuty
Дата 22.5.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.5.2007

Репутация: нет
Всего: нет



Спасибо большое!!!
2archeg:
Но ошибки появились:
Error    1    Cannot convert null to 'System.Drawing.Point' because it is a value type    
Error    2    'System.Drawing.Point' does not contain a definition for 'Value'    
Error    3    'System.Drawing.Point' does not contain a definition for 'Value'    

Помогите исправить ошибки...

Это сообщение отредактировал(а) Gemfuty - 22.5.2007, 09:34
PM MAIL   Вверх
archeg
Дата 22.5.2007, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Цитата(Gemfuty @ 22.5.2007,  09:29)
Спасибо большое!!!
2archeg:
Но ошибки появились:
Error    1    Cannot convert null to 'System.Drawing.Point' because it is a value type    
Error    2    'System.Drawing.Point' does not contain a definition for 'Value'    
Error    3    'System.Drawing.Point' does not contain a definition for 'Value'    

Помогите исправить ошибки...

Там в коде:
Код

Point? coords;

А ты написала:
Код

Point coords;


Point? - это nullable-тип. То есть обертка для value-типа, которая может иметь значение null, просто удобно было его исользовать. Он кстати не поддерживается CLS


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Gemfuty
Дата 22.5.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.5.2007

Репутация: нет
Всего: нет



archeg!!!! Огромное спасибо!! ВСе работает!!! Благодарю за помощь!!
PM MAIL   Вверх
archeg
Дата 22.5.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Цитата(Gemfuty @  22.5.2007,  15:23 Найти цитируемый пост)
archeg!!!! Огромное спасибо!! ВСе работает!!! Благодарю за помощь!! 

Всегда рад  smile 


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.