首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nlua更改表单位置

使用nlua更改表单位置
EN

Stack Overflow用户
提问于 2022-07-18 01:52:22
回答 2查看 80关注 0票数 -1

我正在使用c#框架4.8、winforms和nlua编写一个简单的程序。我想使用lua脚本更改主表单的位置。以下是我尝试过的:

代码语言:javascript
复制
public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
    }
}
代码语言:javascript
复制
using NLua;

lua_context = new Lua();
lua_context.LoadCLRPackage();
lua_context.DoString("import 'System.Drawing'");
lua_context.DoString("import 'System.Windows.Forms'");

MainForm main_form = new MainForm();
lua_context["main_form"] = main_form;
lua_context.DoString("main_form.Location = Point(5, 5)");

在调用最后一行时,我会得到这个错误:

抛出的异常:'NLua.Exceptions.LuaScriptException‘在NLua.dll中发生了一个未处理的'NLua.Exceptions.LuaScriptException’类型的异常,出现在NLua.dll字符串“区块”中:1:尝试调用一个零值(全局'Point')

我也尝试过:

代码语言:javascript
复制
lua_context.DoString("main_form.Location = System.Drawing.Point(5, 5)");

我得到了一个错误:

抛出的异常:“NLua.Exceptions.LuaScriptException”在NLua.dll中--NLua.Exceptions.LuaScriptException类型的未处理异常发生在NLua.dll字符串“区块”中:1:尝试索引零值(全局'System')

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-19 15:52:06

试着添加

import("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")

form.lua曾经工作过

票数 0
EN

Stack Overflow用户

发布于 2022-07-18 08:40:16

在Lua中没有全局Point。也许你可以使用System.Drawing.Point(5, 5)

或者,添加lua_context.DoString("import 'System.Drawing'");可以解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73016602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档