Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > PaintEventArgs


Автор: black_bagira 12.5.2007, 11:52
Добрый день! Подскажите пожалуйста как мне вызвать функцию, у которой есть переменная типа PaintEventArgs??

Я написала функцию void DrawLine3D(float x, float y, float z, float xx, float yy, float zz, PaintEventArgs e) и как мне ее теперь вызвать? что писать в качестве агрумента PaintEventArgs??

и еще вопросик... вот в билдере можно было вызывать функцию следующим образом: ImageClick(MainForm). А когда я пишу в вижуалке как? pictureBox_Paint(MainForm, .... ); что должно быть на месте троеточия?

Автор: Exception 12.5.2007, 13:00
Всё зависит от того, что ты хочешь передать smile .
Например, можно передать

Код
new PaintEventArgs (this.CreateGraphics (), this.ClientRectangle)


для рисования по форме.

В любом случае, создание EventArgs вручную -- плохая техника. Код вроде

Код

void OnSomeEvent (object sender, EventArgs e)
{
    // do some action
}

/////////////////////////////////////////////////////////////

OnSomeEvent (null, EventArgs.Empty);


лучше заменить на

Код

void OnSomeEvent (object sender, EventArgs e)
{
    DoSomeAction ();
}

void DoSomeAction ()
{
    // do some action
}

//////////////////////////////////////////////////////////////

DoSomeAction (); // вызываем не обработчик события, а выделенный из него метод

Автор: black_bagira 12.5.2007, 17:35
спасибо большое! вопрос решен   

Автор: Elfet 18.5.2007, 11:51
Цитата(Exception @  12.5.2007,  14:00 Найти цитируемый пост)
В любом случае, создание EventArgs вручную -- плохая техника

Почему? smile

Автор: ivashkanet 18.5.2007, 12:36
Цитата(Elfet @  18.5.2007,  10:51 Найти цитируемый пост)
Почему?

+1

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)