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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2010, 16:29   #1
Алек
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию надписи на форме

подскажите как можно релизовать такое:

мне надо что б я мог писать текст на форме в том месте, где нажму мышкой.
Алек вне форума Ответить с цитированием
Старый 30.10.2010, 16:35   #2
_Санек_
Пользователь
 
Регистрация: 02.09.2010
Сообщений: 52
По умолчанию

Можно расстянуть на всю форму PaintBox(это как в Дельфи), у него вроде есть свойство OnMouseDown, оно дает координаты места на которое кликнул
_Санек_ вне форума Ответить с цитированием
Старый 30.10.2010, 16:52   #3
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Смотря, что подразумеваешь под словом писать текст. Можно конечно растянуть PaintBox. Можно прям на форме:
Код:
        private void Form1_Paint(object sender, PaintEventArgs e)
        { 
            //получаем GDI+ объект формы
            Graphics gdiObj = e.Graphics; 
            //Создаём форматер текста 
            StringFormat strFormat = new StringFormat(); 
            //Направление: вертикально
            strFormat.FormatFlags = StringFormatFlags.DirectionVertical;
           
            //Создаём кисть
            System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.DarkGoldenrod);
            //..рисуем..
            gdiObj.DrawString("Текст куда хочешь поверни", new Font("Times New Roman", 24F), drawBrush, new PointF(56, 67), strFormat);
            
        }
Естественно тот метод показан как пример. Переделывать под себя придётся.

Можно Label создавать в том месте. Смотря, что вообще нужно получить в итоге. Сделать можно разными способами.

Ну а про получение позиции мыши имелось ввиду это:
Код:
        // Переменная доступная в любом методе этого класса.
        Point mousePosition; // Позиция мыши.


        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            mousePosition = e.Location;
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        { 
             //какой-то код...
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
             //какой-то код...
        }
Casper-SC вне форума Ответить с цитированием
Старый 30.10.2010, 18:02   #4
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

а если хочешь писать не рисуя, то можно динамически создавать текст бокс по координатам где кликнул.. ну и убирать когда текст бокс уже не будет в фокусе
elja_1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TeeChart Pro 8 : Надписи для осей Mikhail-66 Компоненты Delphi 1 15.01.2010 15:07
Изменить надписи на кнопках в Windows Dr.Badnezz Общие вопросы Delphi 3 20.12.2008 15:28
Выравниевание в надписи shmelvs Microsoft Office Excel 1 28.07.2008 18:12
Многострочные надписи в узлах VirtualDrawTree Mitron Общие вопросы Delphi 4 01.02.2008 23:06
ПРОБЛЕМА С IE, уменьшились надписи PAVEL315 Свободное общение 6 12.01.2008 20:27