как передать переменной название события

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

KatsuO
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 19.01.2006 (Чт) 9:54
Откуда: Moscow

как передать переменной название события

Сообщение KatsuO » 02.03.2006 (Чт) 10:14

необходимо переменной передать название события, типа btnTest_Click или frmTest_Load, если кто знает, подскажите :?:

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 02.03.2006 (Чт) 10:36

Название?? S="btnTest_Click";)
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

KatsuO
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 19.01.2006 (Чт) 9:54
Откуда: Moscow

Сообщение KatsuO » 02.03.2006 (Чт) 10:47

ANDLL писал(а):Название?? S="btnTest_Click";)

:D молодца, отличный совт... :D
и как это я сам не догадался? :D а если серьезно, то это должно быть универсальное решение... глобальной переменной должно передаваться название любого события... вот

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 02.03.2006 (Чт) 12:17

Во-первых btnTest_CLick эт не название события, а имя процедуры-обработчика события, а во-вторых на кой тебе понадобилось получать название любого события и в каком месте ты хочешь их (названия то бишь) получать?
Весь мир матрица, а мы в нем потоки байтов!

KatsuO
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 19.01.2006 (Чт) 9:54
Откуда: Moscow

Сообщение KatsuO » 02.03.2006 (Чт) 14:46

!Viper! писал(а):Во-первых btnTest_CLick эт не название события, а имя процедуры-обработчика события, а во-вторых на кой тебе понадобилось получать название любого события и в каком месте ты хочешь их (названия то бишь) получать?

идея такая: я создал класс, который вызывается при возникновении ошибки и в этом классе формируется sql-команда (Insert) и эта запись сохраняется в базе. это название необходимо для того, что бы знать, при исполнении какого событии возникла ошибка. я могу получить название проги, название формы, ip-машины и/или имя пользователя, текст ошибки, а вот какое событие вызвало ошибку... пока не могу... :(

KatsuO
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 19.01.2006 (Чт) 9:54
Откуда: Moscow

Сообщение KatsuO » 02.03.2006 (Чт) 14:48

!Viper! писал(а):Во-первых btnTest_CLick эт не название события, а имя процедуры-обработчика события, а во-вторых на кой тебе понадобилось получать название любого события и в каком месте ты хочешь их (названия то бишь) получать?

а как получить имя процедуры-обработчика события и присвоить ее переменной?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 02.03.2006 (Чт) 15:46

Код: Выделить всё
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
        Try
            'сгенерим ошибку деления на ноль
            Dim a As Integer = a \ 0
        Catch ex As Exception
            'покажем в каком событии она произошла
            MsgBox(ex.TargetSite.Name)
        End Try
    End Sub

KatsuO
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 19.01.2006 (Чт) 9:54
Откуда: Moscow

Сообщение KatsuO » 02.03.2006 (Чт) 18:09

Nord777 писал(а):
Код: Выделить всё
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
        Try
            'сгенерим ошибку деления на ноль
            Dim a As Integer = a \ 0
        Catch ex As Exception
            'покажем в каком событии она произошла
            MsgBox(ex.TargetSite.Name)
        End Try
    End Sub

спасибо Nord777. но я нашел другой путь... могу сохранить: имя формы.событие(делегаты) и путь к файлу.
задача решена... всем спасибо :D :D
вот код

Код: Выделить всё

Private Function test(ByVal str As String) As String       
        Try
            Dim fStream As New FileStream("C:\1.txt", FileMode.Open)
            Dim sReader As New StreamReader(fStream)
            Dim strOut As String
            strOut = sReader.ReadLine
            fStream.Close()
        Catch ex As Exception
            Dim str As String = ex.StackTrace.ToString
            Dim s, s1, l As String
            s = str.IndexOf(Me.Name)
            s1 = str.LastIndexOf(":l")           
            l = s1 - s
            Dim evnt As String = str.Substring(s, l)
        End Try
End Sub


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 104

    TopList