我在DLL中创建了一个简单的表单,通过VBScript显示/调用。
namespace Playground_DLL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
public void ShowForm()
{
this.Show();
}
[ComVisible(true)]
public void Hello()
{
MessageBox.Show("Hello");
Application.Run(this);
}
}
我点击按钮后尝试接收此表单的DialogResult。 但我正在努力使表格可见。 DLL已注册,表单可以在vbscript中创建。 但是在调用form.ShowDialog()方法之后,脚本停止(或者正在等待对话关闭),但表单不是显示的。
只有当我调用(实验性)Hello()函数时,表单才可见。 (但前提是我在调用application.run之前显示了一个消息框)。
我错过了什么或做错了什么?
这是我的vbscript片段。
(整个剧本和形式并没有真正做点什么。它只是为了学习/理解新概念)
Dim test
Set test = CreateObject("Playground_DLL.Form1")
test.topMost = True
test.Hello()
Msgbox(test.DialogResult)
Dim test
Set test = CreateObject("Playground_DLL.Form1")
test.topMost = True
Dim result
result = test.ShowDialog()
Msgbox(result)
答案 0 :(得分:-1)
您初始化窗口,但从不显示它。您的排序和语法已关闭......
#