Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Visual Studio 2005. Basic. Читаю MSDN. Возникают вопросы...  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5943

Здесь дана расшифровка параметров, сидящих в событии контрола (кнопка формы).

Вопросы:
1. Второй параметр (е) мне всё же не ясен... Что это за объект, характерный для обрабатываемого события и как его используют? Поясните пожалуйста.
2. Далее имеется еще и Handles, но, как я понимаю - это не параметр, поскольку он находится ЗА скобками... Это, опять же - как я понял, тип данных, возвращаемых событием. (электронный переводчик перевёл мне его как хэндлы... как говорится, "что ел, что радио слушал...") Верно ли я понял Handles? Даже если "да" - поясните, плиз, как его можно использовать?
_____________________________________________________________________________
P.S. Vista HP. Visual Studio 2005 (VB). SQL Server 2005 SP2. Access 2007 Rus.
Английским не владею (к сожалению).
30 окт 07, 18:54    [4857467]     Ответить | Цитировать Сообщить модератору
 Re: Visual Studio 2005. Basic. Читаю MSDN. Возникают вопросы...  [new]
VladConn
Member

Откуда:
Сообщений: 19676
Handles означает "поддерживает". Дело в том, что в .NET имя события ничего не значит; оно может быть любым. Нужно только указать, какой метод поддерживает это событие. В этом методе пишется код, который и будет исполняться, когда событие произойдет. В VB6 же имя события задано жестко, и менять его нельзя. В VB.NET - можно.

Второй параметр "e" - стандартен, его надо писать всегда, даже если он не используется. Он представляет класс, наследуемый из System.EventArgs. Класс можно писать самому, и он будет иметь свои свойства и методы, необходимые в исходном событии. Например, класс Человек имеет событие "Получил_подарок". В этом событии другой класс, допустим ПолучилПодарок (он и наследуется из System.EvenArgs) имеет свойства: Даритель и НазваниеПодарка. Так вот этот класс ПолучилПодарок и будет вторым аргументом события "Получил_подарок" класса Человек.

Успехов.
30 окт 07, 20:00    [4857599]     Ответить | Цитировать Сообщить модератору
 Re: Visual Studio 2005. Basic. Читаю MSDN. Возникают вопросы...  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5943
VladConn
Handles означает "поддерживает". Дело в том, что в .NET имя события ничего не значит; оно может быть любым. Нужно только указать, какой метод поддерживает это событие. В этом методе пишется код, который и будет исполняться, когда событие произойдет. В VB6 же имя события задано жестко, и менять его нельзя. В VB.NET - можно.

Правильно ли я вас понял, что, имея в основании данный фрагмент кода:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
я могу вызвать это событие не как
Call Form1_Load
а как
Call MyBase.Load

т.к. Form1_Load не распознается как имя события, а для этого используется MyBase.Load. ??
Если я прав, то почему MyBase.Load - пишется через точку, подобно событию или свойству, и почему пишется MyBase вместо Form1 ?
VladConn
Второй параметр "e" - стандартен, его надо писать всегда, даже если он не используется. Он представляет класс, наследуемый из System.EventArgs. Класс можно писать самому, и он будет иметь свои свойства и методы, необходимые в исходном событии. Например, класс Человек имеет событие "Получил_подарок". В этом событии другой класс, допустим ПолучилПодарок (он и наследуется из System.EvenArgs) имеет свойства: Даритель и НазваниеПодарка. Так вот этот класс ПолучилПодарок и будет вторым аргументом события "Получил_подарок" класса Человек.

К сожалению я пока не понял вас, поскольку еще не читал про классы, а так же не знаю что такое System.EventArgs
30 окт 07, 20:12    [4857623]     Ответить | Цитировать Сообщить модератору
 Re: Visual Studio 2005. Basic. Читаю MSDN. Возникают вопросы...  [new]
VladConn
Member

Откуда:
Сообщений: 19676
Нет, не так. Вам надо почитать про события в VB.NET. Добавлю, что Handles необходимо и для того, чтобы один и тот же метод поддерживал разные события и, может быть, даже и разных объектов. Это очень удобно. Например, у вас 10 кнопок, и внутри каждой из них, в событии Click, вам надо вызывать одно и тоже или сходное. Так вот, Handles позволяет избежать повторения 10 раз одного и того же в десяти событиях.

Я прошу прощения за сжатость объяснения, но иначе это будет лекция с примерами и упражнениями.

Успехов.
30 окт 07, 20:51    [4857713]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить