首页
讨论区
新职位
搜索论坛
什么是新的
新职位
新的个人资料帖子
最新活动
会员
目前的访客
新的个人资料帖子
搜索个人资料帖子
VB.NET社区
登录
登记
什么是新的
搜索
搜索
仅搜索标题
经过:
新职位
搜索论坛
Menu
Log in
Register
安装应用
安装
首页
讨论区
C#
第三方产品
Microsoft.Office.Interop.Word设置拼写检查窗口大小和位置
您正在使用过期的浏览器。它可能无法正确显示此网站或其他网站。
您应该升级或使用
替代浏览器
.
回复主题
信息
[QUOTE ="JohnH,帖子:21891,成员:4"] 我在CheckSpelling调用之前从[ICODE] Task.Run(Center); [/ ICODE]开始: [CODE = csharp]专用异步无效Center() { 等待Task.Delay(50); var h = Native.FindWindow(null,"拼写:英语(美国)"); 如果(h!= IntPtr.Zero) { Native.GetWindowRect(h,出Native.RECT r); var x = Location.X +(Width + r.Left-r.Right)/ 2; var y = Location.Y +(Height + r.Top-r.Bottom)/ 2; Native.SetWindowPos(h,IntPtr.Zero,x,y,0,0,Native.SWP_NOSIZE | Native.SWP_NOZORDER); } }[/CODE] 只需很短的Task.Delay是必需的,对话框花费了更长的时间才能显示出来,但这还是可以的。 SetWindowPos的好处是您不用'不必设置窗口大小。 您也可以使用循环,但是如果没有初始Task.Delay,它将在对话框出现之前对FindWindow进行3000次调用。循环可以像这样简化: [CODE = csharp] IntPtr h; do { h = Native.FindWindow(null,"拼写:英语(美国)"); } while(h == IntPtr.Zero); [/CODE] 如果使用循环,如果出现任何问题,也应该有一个退出策略。 [/QUOTE]
Insert quotes…
确认
发表回复
首页
讨论区
C#
第三方产品
Microsoft.Office.Interop.Word设置拼写检查窗口大小和位置
本网站使用Cookie来帮助个性化内容,调整您的体验并在注册时保持登录状态。
继续使用本网站,即表示您同意我们使用cookie。
接受
了解更多…
最佳
底部