我正在尝试控制 Word 的窗口位置。
我的 WinForms (C#) 应用程序占据了屏幕的下半部分并启动了一个 Word 实例。我需要这个实例占据屏幕的上半部分。
这无法通过互操作进行控制,因此我设法获取了 Word 实例的窗口句柄。然后我尝试以各种方式使用 SetWindowPos、SetWindowsLong 等,但没有任何可见的结果。
我不想重新发布有缺陷的代码,而是想要一个新的开始,所以欢迎那些已经取得类似成就的人提出任何建议。
您可以使用Application.Move方法。或直接设置Application.Top或Application.Left属性。你的代码可以是这样的:
private Word.Application WordApp = new Word.Application();
...
private void buttonClick(object sender, System.EventArgs e)
{
if (this.openFileDialog.ShowDialog() == DialogResult.OK)
{
object fileName = openFileDialog.FileName;
object visible = true;
object missing = System.Reflection.Missing.Value;
WordApp.Visible = true;
Word.Document aDoc =
WordApp.Documents.Open(ref fileName, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref visible);
aDoc.Activate();
WordApp.Top = 0;
}
}
不要忘记将Microsoft Word 对象库添加到您的引用并使用相关的命名空间:
using Microsoft.Office.Interop.Word;