【发布时间】:2015-11-19 02:45:27
【问题描述】:
我有一个包含几个不同类的 DLL 文件。在这个 DLL 中,我创建了一个 Windows 窗体。
构建 DLL 项目后,我打开了 PowerShell(为了方便,我使用了 ISE..)并执行了以下脚本 -
[reflection.assembly]::LoadFile("...\MyDLL.dll")
$NewForm = New-Object (AssemblyName).(Class Name of a class with a few subs, one of which will show the form I created)
$NewForm.ShowForm()
ShowForm 是一个简单的 sub,它通过调用窗体名称和 .Show() 来显示 windows 窗体。
当我执行此操作并出现表单时,表单会挂起。就好像整个表单都被禁用了一样。我无法与表单上的任何控件进行交互,也无法通过按顶部的红色 X 来关闭它。
我想存储一些与我在 DLL 文件中创建的方法一起使用的表单,这样如果我决定在其他应用程序中使用表单来与它们一起使用,我就不必重新构建表单.
(对于任何想知道为什么我使用 powershell 的人 - 我觉得首先从 Powershell 测试 DLL 中的函数/子程序更容易,因为像 Powershell 这样的命令行工具中的 3 行可以轻松调用子程序 /从 DLL 中获取函数,而不是创建/修改/重新编译 .exe 项目来做同样的事情)
【问题讨论】:
-
你有消息循环来处理表单事件吗?
-
我不相信我会这样做。我该怎么做呢?
标签: forms powershell dll