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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Paint, вручную 
:(
    Опции темы
Лена
Дата 4.10.2007, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Для того чтобы назначить событие Paint в приложении WindowsApplication достаточно сделать щелчок в окне Propertis на Paint и заполнить код. Если я хочу назначить в ручную cобытие Paint, то почему так не работает?
Код

//файл Form1.Designer.cs
private void InitializeComponent()
        {
         //мой код
         this.Paint += new PaintEventHandler(Form1_Paint);
         private void Form1_Paint(object sender, PaintEventArgs e)
          {
          Graphics g = e.Graphics;
          g.DrawString("Привет", new Font("Arial", 18), Brushes.Green, 20, 20);
          }

//далее другой код
this.button1 = new System.Windows.Forms.Button();
//и т.д.


И еще вопрос какие горячие клавиши отвечают за сдвиг выделеного фрагмента кода влево-вправо?

Это сообщение отредактировал(а) Лена - 4.10.2007, 12:47
PM MAIL   Вверх
0000
Дата 4.10.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



может лучше переопределить OnPaint??
и то, что метод в методе прям...

Это сообщение отредактировал(а) 0000 - 4.10.2007, 13:34
PM MAIL ICQ   Вверх
tol05
Дата 4.10.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Лена, а это вообще компилируется? Что компилятор пишет?
можно или так
Код

//файл Form1.Designer.cs
private void InitializeComponent()
{
    this.Paint += new PaintEventHandler(Form1_Paint);
    //далее другой код
    this.button1 = new System.Windows.Forms.Button();
}

 private void Form1_Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    g.DrawString("Привет", new Font("Arial", 18), Brushes.Green, 20, 20);
}

или так
Код

//файл Form1.Designer.cs
private void InitializeComponent()
{
   this.Paint += delegate(object sender, PaintEventArgs e)
                          {
                           Graphics g = e.Graphics;
                           g.DrawString("Привет", new Font("Arial", 18), Brushes.Green, 20, 20);
                          };
    //далее другой код
    this.button1 = new System.Windows.Forms.Button();
    //и т.д.
}



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Sartorius
Дата 4.10.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

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



Цитата

 еще вопрос какие горячие клавиши отвечают за сдвиг выделеного фрагмента кода влево-вправо?

 для VS Tab, Shift-Tab
PM MAIL ICQ   Вверх
Лена
Дата 4.10.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



tol05, сделала ваш первый вариант. Ошибка:

Error    1    The type or namespace name 'PaintEventArgs' could not be found (are you missing a using directive or an assembly reference?)    C:\Documents and Settings\Kitty\Desktop\VSForm\WindowsApplication1\WindowsApplication1\Form1.Designer.cs    108    49    WindowsApplication1


Sartorius, спасибо за клавиши.  smile 
PM MAIL   Вверх
Walker
Дата 4.10.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

И еще вопрос какие горячие клавиши отвечают за сдвиг выделеного фрагмента кода влево-вправо?


Для VS: tools - options - keyboard. Просмотр существующих схем и назначение новых...



--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
Лена
Дата 4.10.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Walker, подскажите как поменять в этом окне клавиши? Хочу сдвиг в право Ctrl+Shift + i, а влево Ctrl+Shift + u
PM MAIL   Вверх
marcusmae
Дата 4.10.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


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

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



Цитата(Лена @  4.10.2007,  13:59 Найти цитируемый пост)
The type or namespace name 'PaintEventArgs' could not be found (are you missing a using directive or an assembly reference?


а стоит ли там вверху
Код

using System.Windows.Forms;

?


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Walker
Дата 4.10.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Лена, код, сгенерированный дизайнером, править не рекомендуется. Ошибка, получившаяся у вас, правильно говорит о том, что не подключено пространство имён System.Drawing, в котором определены объекты GDI+.
Код

// Файл Form1.cs
private void Form1_Load(object sender, PaintEventArgs e)
{
    this.Paint += new PaintEventHandler(Form1_Paint);
    //далее другой код
}

 private void Form1_Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    g.DrawString("Привет", new Font("Arial", 18), Brushes.Green, 20, 20);
}


Добавлено @ 14:29
Цитата

Walker, подскажите как поменять в этом окне клавиши? Хочу сдвиг в право Ctrl+Shift + i, а влево Ctrl+Shift + u 


Влево:
Show commands containing:
Edit.tableft
В списке щёлкнули мышкой
Use new shortcut in: Text Editor
Щёлкнула мышкой в поле Press shortcut keys и нажала на клавиатуре сочетание Ctrl+Shift + u
Далее Assign - Ok
Сочетание появится в списке привязок к действию с указанием режима.
Удачи!



Это сообщение отредактировал(а) Walker - 4.10.2007, 14:31


--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
Лена
Дата 4.10.2007, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Walker @  4.10.2007,  14:18 Найти цитируемый пост)
Лена, код, сгенерированный дизайнером, править не рекомендуется.


Понятно. Спасибо. Просто хотела как в книге сделать, чтобы детальнее разобраться. Сейчас работает. Надо было добавить:
using System.Windows.Forms;
using System.Drawing; 
непосредтсвенно в Form1.Designer.cs и после этого варианты от tol05 заработали. Получается очень много вариантов для назначения обработчика...




Цитата(Walker @  4.10.2007,  14:18 Найти цитируемый пост)
Edit.tableft


Тут переназначила, но получился перевод в верхний регистр, а не сдвиг влево...

PM MAIL   Вверх
Walker
Дата 4.10.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Сорри! Забыл. Когда щёлкнешь сочетание клавиш, в Shortcut currently used by появитя список действий, на которые это сочетание уже зарегистрировано. Перевод в верхний регистр Edit.MakeUppercase - просто найди его через Show commands containing: и удали сочетание из Shorcuts for selected command кнопкой Remove.


--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
Лена
Дата 4.10.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо влево получилось. Сейчас буду искать вправо.  smile 

Это сообщение отредактировал(а) Лена - 4.10.2007, 15:12
PM MAIL   Вверх
Лена
Дата 4.10.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Walker, вправо что-то не нахожу. Нет похожего типа Edit.tabRigth...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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