none
Cambiar valor de coordenadas click desde un TextBox RRS feed

  • Pregunta

  • Saludos estoy en un problema en el cual deseo cambiar las coordenas de un click desde un TextBox, pero me da un error al poner el TextBox.Text en el valor de las coordenadas

        Private Sub move_and_dblclick(ByVal x As Integer, ByVal y As Integer)
            Windows.Forms.Cursor.Position = New Point(x, y)
            apimouse_event((MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP), x, y, 0, 0)
        End Sub
    
    
    
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBoxXY.Text = "550, 100"
    ' move_and_dblclick(550, 100)
    move_and_dblclick(TextBoxXY.Text)


    • Editado Cael1020 martes, 19 de septiembre de 2017 16:35
    martes, 19 de septiembre de 2017 16:33

Respuestas

  • Fíjate que en el textbox estás poniendo LAS DOS coordenadas juntas, pero la subrutina move_and_dblclick las requiere por separado. Y además en el textbox las tienes en forma de string, pero la subrutina las requiere en forma de Integer. Pese a que VB es capaz de convertir automáticamente de string a integer (aunque es muy mala práctica de programación acostumbrarse a dejarle que lo haga), lo que sí que no sabe hacer automáticamente es convertir un único string a dos integers. Esa conversión la tienes que programar tú, no se hace automáticamente.

    TextBoxXY.Text = "550, 100"
    
    Dim Partes as String() = TextBoxXY.Text.Split(New Char(){","c, " "c}, StringSplitOptions.RemoveEmptyEntries)
    Dim X as Integer = Integer.Parse(Partes(0))
    Dim Y as Integer = Integer.Parse(Partes(1))
    move_and_dblclick(X, Y)
    Nota: Para simplificar el ejemplo, no tiene ningún control de errores. Eso implica que fallará muchísimo si en el textbox se teclea algo que no se corresponda con el formato esperado (por ejemplo, si lo dejan en blanco, o si no teclean la coma).


    martes, 19 de septiembre de 2017 21:01