Paint
의 맨 위에있는 양식에서 사용할 수있는 일부 공용 속성을 사용하는 UserControl
이 있습니다. 이 UserControl
에 대한 이벤트, 나는 컨트롤의 Parent
을 참조하고 내 양식의 유형으로 던져.'System.Windows.Forms.Form'형식의 개체를 'Project.Form1'형식으로 캐스팅 할 수 없습니다.
var _parent = (Form1)Parent;
이 코드는 오류가 발생합니다, 디자인 뷰에서, 그러나 작동하고 나는 UserControl
의 장소에 표시되는 모든이 게시물의 제목에 오류를 표시하는 흰색 상자입니다. stacktrace는이 코드 행으로 직접 이어집니다.
는 지금, 나는이 오류를 해결 한 내 UserControl을의 속성을 통해이 캐스트를 다시 라우팅
public Form1 ControlParent
{
get
{
if (Parent != null)
{
return (Form1)Parent;
}
return null;
}
}
이 단지 디자인보기를 나누기 뭔가 조금 더의 일종이다 .. 기타를 아이디어?
디자인 타임에 컨트롤이 표시되는 것을 신경 쓰지 않고 오류 만 사라지기를 원하면 사용자 컨트롤의 Paint 이벤트에서 "DesignMode"속성을 사용할 수 있습니다. if (! DesignMode) { ... 페인트 코드 ...} – Preets
@Preets 와우, 그 또한 매우 유용합니다. 이것을 답으로 게시 했어야하지만, 감사합니다. input = D –