C# 在使用Outlook automation创建邮件时,如何使地址为只读?

C# 在使用Outlook automation创建邮件时,如何使地址为只读?,c#,outlook,automation,C#,Outlook,Automation,使用Office automation在outlook中创建和显示邮件时,是否可以将“收件人”文本框设置为只读?我们使用以下代码创建消息: Outlook.Application objOutlook = new Outlook.Application(); Outlook.MailItem mail = (Outlook.MailItem)objOutlook.CreateItem(OlItemType.olMailItem); // setting properties..

使用Office automation在outlook中创建和显示邮件时,是否可以将“收件人”文本框设置为只读?我们使用以下代码创建消息:

   Outlook.Application objOutlook = new Outlook.Application();
   Outlook.MailItem mail = (Outlook.MailItem)objOutlook.CreateItem(OlItemType.olMailItem);
   // setting properties...
   mail.Display(modal);

据我所知,没有简单的方法,但有一种方法是使用p/Invoke和本机API将文本框的状态设置为只读。它涉及到获取文本框的句柄,这是一个棘手的部分。如果您使用Spy++,您可能会深入了解窗口的层次结构以及如何处理它。

为什么需要完整的outlook?你可以使用一个带有丰富编辑文本的简单表单,从那里你可以控制一切。当然,但这就是应用程序今天的工作方式,用户希望outlook提供给他们的所有功能。