社区
C#
帖子详情
调用VC写的dll,显示非模态对话框,总是要双击才能激活c#的主界面。
chensan
2009-04-13 04:35:32
我的主程序是c# winform,调用自己写的一个dll(VC编写),这个函数显示一个非模态对话框,显示和功能都没有问题。现在的问题是打开这个对话框后,总要点击2次才能激活后面的c#主窗口的菜单。
点第一次只是相当于激活后面的窗口,百思不得其解。
...全文
281
9
打赏
收藏
调用VC写的dll,显示非模态对话框,总是要双击才能激活c#的主界面。
我的主程序是c# winform,调用自己写的一个dll(VC编写),这个函数显示一个非模态对话框,显示和功能都没有问题。现在的问题是打开这个对话框后,总要点击2次才能激活后面的c#主窗口的菜单。 点第一次只是相当于激活后面的窗口,百思不得其解。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chensan
2009-04-16
打赏
举报
回复
没用,好像是ms的一个bug?
chensan
2009-04-14
打赏
举报
回复
我在vs2005加载mainmenu,可以,toolbar也可以。
看来是05的menustrip和toolstrip的问题。
chensan
2009-04-14
打赏
举报
回复
晕了,用vs2003调用就没有问题,vs2005和2008都有问题,难道是菜单控件的问题?
vs2003程序升级为2005也没有问题。
chensan
2009-04-14
打赏
举报
回复
现在最奇怪的是为什么button可以一次激活,menu和toolbutton却不可以
chensan
2009-04-14
打赏
举报
回复
vc的代码:
extern "C" __declspec(dllexport) void Opendlg(HWND hWnd)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CAAA *dlg=new CAAA(CWnd::FromHandle(hWnd));
dlg->Create(IDD_DIALOG1,CWnd::FromHandle(hWnd));
dlg->ShowWindow(SW_SHOW);
return ;
}
c#代码:
[DllImport("testku.dll")]
public static extern void Opendlg(IntPtr hwnd);
private void button3_Click(object sender, EventArgs e)
{
Opendlg(this.Handle);
}
chensan
2009-04-14
打赏
举报
回复
还是不行,我用vc测试程序调用,传或不传父窗口的handle都正常,但是c#程序偏偏不行。
greenery
2009-04-14
打赏
举报
回复
试试把父窗口的句柄传给vc窗口,并设置为它的父窗口。
oyljerry
2009-04-13
打赏
举报
回复
非模式对话框指定主窗口为父窗口等..
chensan
2009-04-13
打赏
举报
回复
如果主窗口是button,就可以一次点击激活,如果是菜单或者工具栏,就不行,非得2次。
C#
111,095
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章