【发布时间】:2016-08-15 09:44:10
【问题描述】:
我正在制作 Outlook 插件,当用户启动插件时,会出现一个 Windows 窗体。在这个 windows 窗体中,我将根据用户输入动态添加用户控件。
我遇到的问题是以编程方式添加控件。如果我只添加一个标准 TextBox 一切正常,但是当我添加用户控件时,我得到以下异常;
'System.Windows.Forms.Control.ControlCollection.Add(System.Windows.Forms.Control)' 的最佳重载方法匹配有一些无效参数
无法从“OutlookAddIn.Controls.RForm”转换为“System.Windows.Forms.Control”
我尝试将控件强制转换为 UserControl,但出现了新的异常。
主窗体:
using System.Windows.Forms;
namespace OutlookAddIn
{
public partial class Main : Form
{
public Main()
{
InitializeComponent();
}
private void lblReactiveMaintenance_Click(object sender, EventArgs e)
{
OutlookAddIn.Controls.RForm reactiveMaintForm = new OutlookAddIn.Controls.RForm();
reactiveMaintForm.Name = "rForm";
pnlMain.Controls.Add(reactiveMaintForm);
}
}
}
用户控制:
namespace OutlookAddIn.Controls
{
/// <summary>
/// Interaction logic for RForm.xaml
/// </summary>
public partial class RForm : UserControl
{
public RForm()
{
InitializeComponent();
}
}
}
【问题讨论】: