我正在创建一个使用UserControl将图标加载到屏幕上的窗口。单击这些图标后,目标是在WPF中打开相应的窗口或页面。
这是我的问题:
Sub openApp(obj As Object, e As MouseButtonEventArgs)
Dim app As Object = TryCast(e.Source, UserControl.ucMenuAppIcon).Name
End Sub
通常在这里,我会有一些代码:昏暗的窗口作为新的窗口bla bla。但现在我需要使用“app”变量作为我的窗口名称。我如何做这个,如果没有做很长的功能来检查我系统中的所有应用程序?
非常感谢有关此问题的任何帮助
答案 0 :(得分:0)
在主窗口代码中,如下所示,
Private Sub btn_details_click(sender As Object, e As RoutedEventArgs)
Dim window__1 As Window = Window.GetWindow(Me)
window__1.Opacity = 0.3
Dim popUpwindow As New PopUpWindow("name", "x", "y")
popUpwindow.ShowDialog()
End Sub
然后在PopUpWindow中添加如下构造函数,
Function PopUpWindow(name As String, x As Double, y As Double) As [Public]
InitializeComponent()
Dim window__1 As Window = Window.GetWindow(Me)
window__1.Width = x
window__1.Height = y
End Function
答案 1 :(得分:0)
感谢Harshana,但这并不是我想要的。这是一个适用于WPF的代码。对于那些仍然使用Winforms的人(请使用Forms而不是Windows)。
Dim objForm As Window
Dim FormInstanceType As Type
Dim appStr As String = "AplicationNameSpace_GoesHere." + TryCast(e.Source, UserControl.ucMenuAppIcon).Name
Try
FormInstanceType = Type.GetType(appStr, True, True)
objForm = CType(Activator.CreateInstance(FormInstanceType), Window)
objForm.Show()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
此代码基本上将采用您的字符串,并打开一个具有完全相同名称的相应窗口。如果不存在具有相同名称的窗口,则只会抛出异常错误。