我正在DevExpress中编写一个程序,我偶然发现了一个问题。我想要一个磁贴显示是否设置了条件,在这种情况下输入一个特定的值。如果用户输入它们,他们将转到他们想要去的窗口。否则它将不得不回到主表格。
我遇到的问题是如果未设置条件,程序将转到主窗体。每当它试图这样做时,程序就会崩溃。
你能帮帮我吗?谢谢!Private Sub windowsUIView1_QueryControl(sender As Object, e As QueryControlEventArgs) Handles windowsUIView1.QueryControl
....
ElseIf e.Document Is Document9 Then
Dim cuentaInicial = InputBox("Por favor introduzca la cuenta inicial del día", "Inicial")
If cuentaInicial = "" Then
MsgBox("Por favor introduzca un valor inicial", vbCritical, "Error")
Me.Refresh()' <-- Problem here
Exit Sub
End If
Try
Dim inicial As Double = Double.Parse(cuentaInicial)
e.Control = New Caja
Catch ex As Exception
MsgBox(cuentaInicial & ": No es el formato correcto. Favor de verificar", vbCritical, "Error")
Me.Refresh() '<-- problem here
End Try
End If
End Sub
答案 0 :(得分:1)
如果我理解正确,您希望在单击图块时显示对话框。如果是这样,我建议你创建句柄WindowsUIView.TileClick而不是WindowsUIView.QueryControl事件(当文档已经显示时引发)。
在WindowsUIView.TileClick事件处理程序中,您可以通过在事件参数级别设置Handled属性来检查是否可以导航到相应的文档:
Sub WindowsUIView1_TileClick(sender As Object, e As DevExpress.XtraBars.Docking2010.Views.WindowsUI.TileClickEventArgs) Handles WindowsUIView1.TileClick
...
If e.Document Is Document9 Then
Dim cuentaInicial = InputBox("Por favor introduzca la cuenta inicial del día", "Inicial")
If cuentaInicial = "" Then
MsgBox("Por favor introduzca un valor inicial", vbCritical, "Error")
e.Handled = True ' !!!do not naviate into the document
Exit Sub
End If
...
End If
End Sub