Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2009, 23:00   #1
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию Как сделать рамку C#

Привет всем. У меня одна проблема. Создал форму, на форме спомощу мишы рисую прямоугольник, он появляется когда отпускаю кнопку.Никак не могу понять как видеть тот прямоугольник который рисую.Создать рамку какая показывает прямоугольник чтоб было его видно.Как ето сделать?
evgenrpo вне форума Ответить с цитированием
Старый 07.10.2009, 23:21   #2
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Ну рисовать тот же прямоугольник по событию onMouseMove, тогда он будет перерисовываться после кажного движения мышю.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 07.10.2009, 23:23   #3
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Он у меня не перерисовуется , он заполняет все там где провел мишой.
evgenrpo вне форума Ответить с цитированием
Старый 07.10.2009, 23:28   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

добавить нужно Form1.Repaint(); перед прорисовкой в событии onMouseMove. И еще можна поставить двойную буфферизацию что б не лагало.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 07.10.2009, 23:35   #5
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

обясните по подробней пожалуйста!!!
Код:
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            
            Graphics gr = pictureBox1.CreateGraphics();
            Pen pen1 = new Pen(Color.Black);
           
            gr.DrawRectangle(pen1, 0, 0, x_Mmov, y_Mmov);
            
            pen1.Dispose();
        }
evgenrpo вне форума Ответить с цитированием
Старый 07.10.2009, 23:49   #6
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            Graphics gr = pictureBox1.CreateGraphics();
            Pen pen1 = new Pen(Color.Black);
            pictureBox1.Refresh();
            gr.DrawRectangle(pen1, 0, 0, e.X, e.Y);
            pen1.Dispose();
            gr.Dispose();
        }
    }
}
Вот такой кустарный метод
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 08.10.2009, 00:05   #7
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Так етот метод полностю очищает pictureBox1
(Refresh()).Прямоугольник тот ищезает что должен остатся при отпускание кнопки.
evgenrpo вне форума Ответить с цитированием
Старый 08.10.2009, 00:17   #8
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        Boolean label = false;
        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (label)
            {
                Graphics gr = pictureBox1.CreateGraphics();
                Pen pen1 = new Pen(Color.Black);
                pictureBox1.Refresh();
                gr.DrawRectangle(pen1, 0, 0, e.X, e.Y);
                pen1.Dispose();
                gr.Dispose();
            }
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            label = true;
        }

        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            label = false;
        }
    }
}
Эх молодеж, нет у вас фантазии. Повторюсь, это самый примитивный способ.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 08.10.2009, 00:36   #9
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Извените пожалуйста меня, наверное я достал уже! Но первый ищезает прямо........ когда рисую второй.Подскажыте книгу по етому повуду.
evgenrpo вне форума Ответить с цитированием
Старый 08.10.2009, 00:48   #10
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

ищо один вопрос. Как сделать маштаб. увеличить и уменьшыть ту линию или прям..... с чего начинать, скакой книги .за щот чего происходит весь етот процес? Пытаюсь сделать что-то типа paint
evgenrpo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить браузер рисовать рамку вокруг пустой ячейки? Stilet HTML и CSS 7 11.09.2012 13:36
Делаем красивую таблицу-рамку Next HTML и CSS 13 21.07.2009 15:44
Как убрать рамку фокуса ввода с TListBox? SalasAndriy Компоненты Delphi 2 01.04.2009 21:09
Как изменить стиль гиперссылки? Нужно убрать рамку вокруг картинки. GLB HTML и CSS 5 18.01.2009 19:18
Как зделоть например, квадрат прозрачным а рамку зелёной? Лис_ Общие вопросы по Java, Java SE, Kotlin 1 30.12.2008 10:09