关于MAX与C#窗体交互问题(有偿悬赏)
2900229003就是我们用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的脚本代码如下:
如果您能解决请留言联系我,这个对我们非常重要,不白嫖,谢谢!有偿悬赏解决这个问题。
这个超出我的理解范围了,哈哈,不懂啊。
页:
[1]