Public Class dxwInicioAplicacion Public Respuesta As RespuestaInicioAplicacion Public ExpresionBusqueda As String Private _CamposBusquedaAlfabeticos() As String Private _CamposBusquedaAlfabeticosPorIgualdad() As String Private _CamposBusquedaNumericos() As String Public Sub New(Titulo As String, TituloCamposBusqueda As String, CamposBusquedaAlfabeticos() As String, CamposBusquedaAlfabeticosPorIgualdad() As String, CamposBusquedaNumericos() As String, TextoABuscar As String, PermitirNuevos As Boolean, PermitirBusquedaAvanzada As Boolean, Optional TextoNuevos As String = "", Optional TextoOtrasOpciones As String = "") ' Esta llamada es exigida por el diseñador. InitializeComponent() Me.Title = Titulo _CamposBusquedaAlfabeticos = CamposBusquedaAlfabeticos _CamposBusquedaAlfabeticosPorIgualdad = CamposBusquedaAlfabeticosPorIgualdad _CamposBusquedaNumericos = CamposBusquedaNumericos tbCamposBusqueda.Text = TituloCamposBusqueda teBusqueda.Text = TextoABuscar If Not PermitirBusquedaAvanzada Then tbBusquedaAvanzada.Visibility = Visibility.Collapsed If Not PermitirNuevos Then tbNuevo.Visibility = Visibility.Collapsed If Not PermitirBusquedaAvanzada And Not PermitirNuevos Then lgOtrasOpciones.Visibility = Visibility.Collapsed If TextoNuevos <> "" Then tbNuevo.Text = TextoNuevos If TextoOtrasOpciones <> "" Then tbOtrasOpciones.Text = TextoOtrasOpciones tbcOtrasOpciones.Visibility = Visibility.Visible End If End Sub Private Sub HlBusquedaAvanzada_Click(sender As Object, e As RoutedEventArgs) DialogResult = True Respuesta = RespuestaInicioAplicacion.BUSQUEDA_AVANZADA Me.Close() End Sub Private Sub HlNuevoRegistro_Click(sender As Object, e As RoutedEventArgs) DialogResult = True Respuesta = RespuestaInicioAplicacion.NUEVO_REGISTRO Me.Close() End Sub Private Sub BtBuscar_Click(sender As Object, e As RoutedEventArgs) If Me.teBusqueda.Text.Trim <> "" Then ExpresionBusqueda = Utilidades.Varias.GeneraExpresionBusqueda(Me.teBusqueda.Text.Trim, Me._CamposBusquedaNumericos, Me._CamposBusquedaAlfabeticos, Me._CamposBusquedaAlfabeticosPorIgualdad) Respuesta = RespuestaInicioAplicacion.BUSQUEDA_RAPIDA Me.DialogResult = True Me.Close() End If End Sub Private Sub CommandBinding_Executed(sender As Object, e As ExecutedRoutedEventArgs) Me.DialogResult = False Me.Close() End Sub Private Sub dxwInicioAplicacion_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded Me.teBusqueda.Focus() End Sub Private Sub HlOtrasOpciones_Click(sender As Object, e As RoutedEventArgs) DialogResult = True Respuesta = RespuestaInicioAplicacion.OTRAS_OPCIONES Me.Close() End Sub 'Public Shared Function GeneraExpresionBusqueda(TextoAbuscar As String, CamposBusquedaNumericos() As String, CamposBusquedaAlfabeticos() As String) As String ' Dim Expresion As String = "" ' Dim Palabras = TextoAbuscar.Trim.Split(" ") ' For Each palabra In Palabras ' Dim Numero = palabra.Replace(",", ".") ' If CamposBusquedaNumericos.Count > 0 AndAlso Double.TryParse(Numero, Nothing) Then ' For Each c In CamposBusquedaNumericos ' Expresion &= " OrElse " & c & "=" & Numero ' Next ' End If ' For Each c In CamposBusquedaAlfabeticos ' Expresion &= " OrElse " & c & ".Contains(" & Chr(34) & palabra & Chr(34) & ")" ' Next ' Next ' Return Expresion.Substring(4) 'End Function End Class Public Enum RespuestaInicioAplicacion BUSQUEDA_AVANZADA BUSQUEDA_RAPIDA NUEVO_REGISTRO OTRAS_OPCIONES End Enum