Функция кнопки активности кода вызова RPA UiPath

У меня этот код VB используется в действии кода вызова в UiPath. Может ли кто-нибудь предложить функцию, которая изменяет значения переменной btnClicked в True при нажатии кнопки?

Dim lblButton As New System.Windows.Forms.Button()
lblButton.AutoSize = True
   btnClicked=False
            lblButton.ForeColor = System.Drawing.Color.Black
            'lblButton.Location = New System.Drawing.Point(5, 10)
   lblButton.Left=250
            lblButton.Name = "lblButton"
            lblButton.Size = New System.Drawing.Size(50, 50)
            lblButton.TabIndex = 4
            lblButton.Text = "End data acq"
   lblbutton.Visible=btnVisible

   btnClicked=True

person Alexa Sorina    schedule 22.02.2019    source источник
comment
Чего именно вы пытаетесь достичь? Должен ли робот ждать, пока пользователь предоставит обратную связь, прежде чем получать данные? Вы рассматривали возможность использования UiPath.Core.Activities.InputDialog?   -  person Wolfgang Radl    schedule 22.02.2019
comment
Да, но у меня есть форма VB, и мне нужно создать эту функцию для кнопки в этой форме.   -  person Alexa Sorina    schedule 23.02.2019
comment
Пожалуйста, укажите контекст. Похоже, вы хотите проверить, подтвердил ли пользователь что-то в определенный момент (например, сбор данных завершен), но это всего лишь предположения. в этом случае, однако, простое окно сообщения с Да / Нет могло бы сделать то же самое без необходимости в Invoke Code.   -  person Wolfgang Radl    schedule 24.02.2019
comment
Да, мне нужна кнопка, чтобы пользователь мог остановить сбор данных, и когда пользователь нажимает кнопку, мне нужно получить от Invoke Code аргумент, который дает мне значение True или False. Я не могу использовать окно сообщения, потому что моя кнопка для остановки процесса находится в этой форме VB, созданной в действии кода вызова   -  person Alexa Sorina    schedule 26.02.2019
comment
Отвечает ли ваш код VB также за сбор данных (т.е. получение данных в отдельном потоке)? (Неужели что-нибудь еще не заблокирует весь процесс?)   -  person Wolfgang Radl    schedule 26.02.2019


Ответы (1)


Думаю, все, что вам нужно, это добавить обработчик к событию OnClick. В Windows.Forms.Buttons это срабатывает, когда пользователь щелкает каждый раз. У меня нет опыта работы с rpa или uipath, поэтому мои извинения, если это не полный ответ.

Private Sub My_Clicked_Event(sender As Object, e As EventArgs)
    Dim lb As System.Windows.Forms.Button = DirectCast(sender, System.Windows.Forms.Button)
    lb.Text = "I have been clicked"
    lb.Forecolor = Color.Black
    MsgBox("Clicked")
End Sub

затем добавьте обработчик в свой код

AddHandler lblbutton.Click, AddressOf My_Clicked_Event

Изменить переменные можно просто с помощью приведенного lb ...

person Chicken    schedule 22.02.2019
comment
Спасибо за ответ, я уже пробовал что-то подобное, и это не работает с этим действием в UiPath. :( - person Alexa Sorina; 22.02.2019