所有,我有一个UserCostrol
我最近不得不改变的。这种变化要求我引用Parent
表单并使用该表单中的属性。这些参考资料似乎破坏了设计师 - 我遇到了一个错误
“无法将'System.Windows.Forms.Form'类型的对象转换为'Project.SettingsForm'”
这在Unable to cast object of type 'System.Windows.Forms.Form' to type 'Project.Form1' 中有所描述。
我已经添加了一个属性来处理对Parent
表单的引用,如上面引用的答案中所述,但现在设计器错误说
“无法将'System.Windows.Forms.Panel'类型的对象转换为'Project.SettingsForm'”。
编译器抱怨的第一行在'<-- Here'
下面的代码中标有
public partial class UiSettingFascia : UserControl, ISettingsControl
{
public UiSettingFascia()
{
InitializeComponent();
}
private void UiSettingFascia_Load(object sender, EventArgs e)
{
LoadSettings();
CheckBoxShowTabs.CheckedChanged += Workbook_StateChanged;
CheckBoxShowVirticalScroll.CheckedChanged += Workbook_StateChanged;
CheckBoxShowHorizontolScroll.CheckedChanged += Workbook_StateChanged;
}
public void LoadSettings()
{
UserSettings userSettings = UserSettings.Instance();
...
MainRibbonForm mainRibbonForm = (ControlParent).MainRibbonForm; // <-- Here.
...
}
}
为了尝试解决最初的问题 [ “无法将 'System.Windows.Forms.Form' 类型的对象转换为 'Project.SettingsForm'” ] 我创建了以下属性
public SettingsForm ControlParent
{
get { return Parent as SettingsForm; }
}
我怎样才能解决这个问题[ “无法将'System.Windows.Forms.Panel'类型的对象转换为'Project.SettingsForm'” ]同时保持我的功能UserControl
?
谢谢你的时间。