近期热门
首页 CGJOY论坛 动画作品交流 解惑专区
关于MAX与C#窗体交互问题(有偿悬赏)

[解惑专区] 关于MAX与C#窗体交互问题(有偿悬赏)

[复制链接]
1557 1 0 0 162天前 举报



就是我们用C#写了一个窗体,窗体里面有个原生的输入框,然后编译成Dll用MAX脚本加载程序集,加载这个窗口,窗口被加载后窗口的控件事件会被MAX异常捕获,就是我们输入数字,字母,还有退格键,都会被识别成MAX的快捷键,即便窗口是聚焦状态都会被拉到MAX里面去识别成快捷键,

然后我们这边 Application.Run(this); // 启动事件循环,启动事件循环后,控件是正常了,不会被MAX异常捕获了,但是想和MAX交互的时候发现MAX的快捷键全部被C#窗体捕获拦截了,导致MAX的快捷键用不了,两头堵了,


关于C#的源代码如下:
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;


namespace ces
{
    public partial class Form1 : Form
    {
        // 定义按钮事件的委托和事件
        public delegate void ButtonClickedEventHandler();
        public event ButtonClickedEventHandler ButtonClickedEvent;



        public Form1()
        {


            InitializeComponent();


        }



        private void button1_Click(object sender, EventArgs e)
        {

         ButtonClickedEvent?.Invoke(); // 触发委托事件

        }

        public void RunEventLoop()
        {
            Application.Run(this); // 启动事件循环
        }


    }


MAX的脚本代码如下:


如果您能解决请留言联系我,这个对我们非常重要,不白嫖,谢谢!有偿悬赏解决这个问题。
0
点赞
0
打赏
0
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论1
您需要登录后才可以回帖 登录

这个超出我的理解范围了,哈哈,不懂啊。
160天前  ·  2楼
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器